X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=fish%2Ftilde.c;h=c599e16fc09690ee5dc28a12654040365c4d119d;hp=f0a225908458ba5da53975a58aa45170bb013ce4;hb=21bd2db7cf259a17cc3922409937b849e4b83c0f;hpb=2f1a50d81671810256dce0852e6b1e0810ac44af diff --git a/fish/tilde.c b/fish/tilde.c index f0a2259..c599e16 100644 --- a/fish/tilde.c +++ b/fish/tilde.c @@ -22,7 +22,6 @@ #include #include #include -#include #include #include #include @@ -30,7 +29,7 @@ #include "fish.h" static char *expand_home (const char *); -static const char *find_home_for_username (const char *, int); +static const char *find_home_for_username (const char *, size_t); /* This is called from the script loop if we find a candidate for * ~username (tilde-expansion). @@ -52,10 +51,8 @@ try_tilde_expansion (char *str) * username from the password file. */ else { - int len; const char *home, *rest; - - len = strcspn (&str[1], "/"); + size_t len = strcspn (&str[1], "/"); rest = &str[1+len]; home = find_home_for_username (&str[1], len); @@ -65,7 +62,7 @@ try_tilde_expansion (char *str) str = malloc (len); if (str == NULL) { perror ("malloc"); - exit (1); + exit (EXIT_FAILURE); } strcpy (str, home); strcat (str, rest); @@ -92,7 +89,7 @@ expand_home (const char *append) str = malloc (len); if (str == NULL) { perror ("malloc"); - exit (1); + exit (EXIT_FAILURE); } strcpy (str, home); @@ -106,14 +103,14 @@ expand_home (const char *append) * or NULL if not found. */ static const char * -find_home_for_username (const char *username, int ulen) +find_home_for_username (const char *username, size_t ulen) { struct passwd *pw; setpwent (); while ((pw = getpwent ()) != NULL) { if (strlen (pw->pw_name) == ulen && - strncmp (username, pw->pw_name, ulen) == 0) + STREQLEN (username, pw->pw_name, ulen)) return pw->pw_dir; }