diff options
author | Karel Zak | 2007-11-26 14:58:29 +0100 |
---|---|---|
committer | Karel Zak | 2007-11-26 15:00:16 +0100 |
commit | e27a08abb743d32c8834d79fc7741c32e618e476 (patch) | |
tree | 1b7b0249f40f5e2cd32aa13630f210986558bfbe /misc-utils/namei.c | |
parent | wall: cleanup MAXHOSTNAMELEN (diff) | |
download | kernel-qcow2-util-linux-e27a08abb743d32c8834d79fc7741c32e618e476.tar.gz kernel-qcow2-util-linux-e27a08abb743d32c8834d79fc7741c32e618e476.tar.xz kernel-qcow2-util-linux-e27a08abb743d32c8834d79fc7741c32e618e476.zip |
namei: non-linux support (get_current_dir_name() and PATH_MAX)
Co-Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'misc-utils/namei.c')
-rw-r--r-- | misc-utils/namei.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/misc-utils/namei.c b/misc-utils/namei.c index 0db176a68..e8f7a8bd8 100644 --- a/misc-utils/namei.c +++ b/misc-utils/namei.c @@ -73,6 +73,10 @@ int xflag = 0; #define MAXSYMLINKS 256 #endif +#ifndef PATH_MAX +#define PATH_MAX 4096 +#endif + static char *pperm(unsigned short); static void namei(char *, int, mode_t *); static void usage(void); @@ -81,7 +85,11 @@ int main(int argc, char **argv) { extern int optind; int c; - char curdir[MAXPATHLEN]; +#ifdef HAVE_GET_CURRENT_DIR_NAME + char *curdir; +#else + char curdir[PATH_MAX]; +#endif setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, LOCALEDIR); @@ -106,7 +114,12 @@ main(int argc, char **argv) { } } - if(getcwd(curdir, sizeof(curdir)) == NULL){ +#ifdef HAVE_GET_CURRENT_DIR_NAME + if (!(curdir = get_current_dir_name())) +#else + if(getcwd(curdir, sizeof(curdir)) == NULL) +#endif + { (void)fprintf(stderr, _("namei: unable to get current directory - %s\n"), curdir); @@ -140,8 +153,6 @@ usage(void) { #define NODEV (dev_t)(-1) #endif -int kzak; - static void namei(char *file, int lev, mode_t *lastmode) { char *cp; |