* Copyright (C) 1996-2000 Andrew Tridgell
* Copyright (C) 1996 Paul Mackerras
* Copyright (C) 2001, 2002 Martin Pool <mbp@samba.org>
- * Copyright (C) 2003-2007 Wayne Davison
+ * Copyright (C) 2003-2008 Wayne Davison
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
t[1].tv_usec = 0;
# ifdef HAVE_LUTIMES
if (S_ISLNK(mode)) {
- lutimes(fname, t);
- return 0; /* ignore errors */
+ if (lutimes(fname, t) < 0)
+ return errno == ENOSYS ? 1 : -1;
+ return 0;
}
# endif
return utimes(fname, t);
}
/** Turn a user name into a uid */
-int name_to_uid(const char *name, uid_t *uid)
+int name_to_uid(const char *name, uid_t *uid_p)
{
struct passwd *pass;
if (!name || !*name)
return 0;
- pass = getpwnam(name);
- if (pass) {
- *uid = pass->pw_uid;
- return 1;
- }
- return 0;
+ if (!(pass = getpwnam(name)))
+ return 0;
+ *uid_p = pass->pw_uid;
+ return 1;
}
/** Turn a group name into a gid */
-int name_to_gid(const char *name, gid_t *gid)
+int name_to_gid(const char *name, gid_t *gid_p)
{
struct group *grp;
if (!name || !*name)
return 0;
- grp = getgrnam(name);
- if (grp) {
- *gid = grp->gr_gid;
- return 1;
- }
- return 0;
+ if (!(grp = getgrnam(name)))
+ return 0;
+ *gid_p = grp->gr_gid;
+ return 1;
}
/** Lock a byte range in a open file */
curr_dir_depth = count_dir_elements(curr_dir + module_dirlen);
}
+ if (verbose >= 5 && !set_path_only)
+ rprintf(FINFO, "[%s] push_dir(%s)\n", who_am_i(), curr_dir);
+
return 1;
}
if (sanitize_paths)
curr_dir_depth = count_dir_elements(curr_dir + module_dirlen);
+ if (verbose >= 5)
+ rprintf(FINFO, "[%s] pop_dir(%s)\n", who_am_i(), curr_dir);
+
return 1;
}