Code cleanup
This commit is contained in:
parent
6095a382c9
commit
e4831defec
30
src/pwd.c
30
src/pwd.c
|
@ -22,17 +22,24 @@
|
||||||
|
|
||||||
|
|
||||||
/* types */
|
/* types */
|
||||||
typedef enum _pwd_flag {
|
typedef enum _pwd_flag
|
||||||
|
{
|
||||||
PWD_P = 1,
|
PWD_P = 1,
|
||||||
PWD_LP = 2
|
PWD_LP = 2
|
||||||
} pwd_flag;
|
} pwd_flag;
|
||||||
|
|
||||||
|
|
||||||
/* pwd */
|
/* pwd */
|
||||||
|
static int _pwd_error(char const * message, int ret);
|
||||||
|
|
||||||
static int _pwd(pwd_flag pf)
|
static int _pwd(pwd_flag pf)
|
||||||
{
|
{
|
||||||
char * pwd;
|
char * pwd;
|
||||||
char buf[256];
|
#ifdef MAXPATHLEN
|
||||||
|
char buf[MAXPATHLEN];
|
||||||
|
#else
|
||||||
|
char buf[1024];
|
||||||
|
#endif
|
||||||
char * p;
|
char * p;
|
||||||
|
|
||||||
pwd = getenv("PWD");
|
pwd = getenv("PWD");
|
||||||
|
@ -69,19 +76,22 @@ static int _pwd(pwd_flag pf)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(getcwd(buf, 255) == NULL)
|
if(getcwd(buf, sizeof(buf) - 1) == NULL)
|
||||||
{
|
return _pwd_error("getcwd", 1);
|
||||||
fputs("pwd: ", stderr);
|
buf[sizeof(buf) - 1] = '\0';
|
||||||
perror("getcwd");
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
buf[255] = '\0';
|
|
||||||
pwd = buf;
|
pwd = buf;
|
||||||
}
|
}
|
||||||
printf("%s\n", pwd);
|
printf("%s\n", pwd);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int _pwd_error(char const * message, int ret)
|
||||||
|
{
|
||||||
|
fputs("pwd: ", stderr);
|
||||||
|
perror(message);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* usage */
|
/* usage */
|
||||||
static int _usage(void)
|
static int _usage(void)
|
||||||
|
@ -113,5 +123,5 @@ int main(int argc, char * argv[])
|
||||||
}
|
}
|
||||||
if(optind != argc)
|
if(optind != argc)
|
||||||
return _usage();
|
return _usage();
|
||||||
return _pwd(pf);
|
return _pwd(pf) == 0 ? 0 : 2;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user