--- /dev/null
+--- a/common.h
++++ b/common.h
+@@ -7,6 +7,7 @@
+ #ifndef GUARD_COMMON_H
+ #define GUARD_COMMON_H
+
++#include <libgen.h>
+ #include <time.h>
+ #include <stdarg.h>
+
+--- a/edquota.c
++++ b/edquota.c
+@@ -38,7 +38,7 @@ char *progname;
+ static int flags, quotatype;
+ static int fmt = -1;
+ static char *protoname;
+-static char *dirname;
++static char *dname;
+
+ static void usage(void)
+ {
+@@ -138,7 +138,7 @@ static int parse_options(int argc, char
+ exit(1);
+ break;
+ case 'f':
+- dirname = optarg;
++ dname = optarg;
+ break;
+ case 256:
+ flags |= FL_NUMNAMES;
+@@ -176,7 +176,7 @@ static void copy_prototype(int argc, cha
+ protoprivs = getprivs(protoid, handles, 0);
+ while (argc-- > 0) {
+ id = name2id(*argv, quotatype, !!(flags & FL_NUMNAMES), NULL);
+- curprivs = getprivs(id, handles, !dirname);
++ curprivs = getprivs(id, handles, !dname);
+ if (!curprivs)
+ die(1, _("Cannot get quota information for user %s\n"), *argv);
+ argv++;
+@@ -223,7 +223,7 @@ int main(int argc, char **argv)
+ argv += ret;
+
+ init_kernel_interface();
+- handles = create_handle_list(dirname ? 1 : 0, dirname ? &dirname : NULL, quotatype, fmt,
++ handles = create_handle_list(dname ? 1 : 0, dname ? &dname : NULL, quotatype, fmt,
+ (flags & FL_NO_MIXED_PATHS) ? 0 : IOI_NFS_MIXED_PATHS,
+ (flags & FL_REMOTE) ? 0 : MS_LOCALONLY);
+ if (!handles[0]) {
+@@ -296,7 +296,7 @@ int main(int argc, char **argv)
+ else {
+ for (; argc > 0; argc--, argv++) {
+ id = name2id(*argv, quotatype, !!(flags & FL_NUMNAMES), NULL);
+- curprivs = getprivs(id, handles, !dirname);
++ curprivs = getprivs(id, handles, !dname);
+ if (!curprivs)
+ die(1, _("Cannot get quota information for user %s.\n"), *argv);
+ if (flags & FL_EDIT_TIMES) {