quota: fix compilation with GCC14
authorRosen Penev <rosenp@gmail.com>
Thu, 16 May 2024 01:42:47 +0000 (18:42 -0700)
committerRosen Penev <rosenp@gmail.com>
Fri, 17 May 2024 06:45:40 +0000 (23:45 -0700)
Header is needed.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
utils/quota/Makefile
utils/quota/patches/010-gcc14.patch [new file with mode: 0644]

index 9bc61272284e1fdc892f986f34197531015875f1..46afe0b04c09d2689a5ad2649c152ce847a9863c 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=quota
 PKG_VERSION:=4.09
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/linuxquota
diff --git a/utils/quota/patches/010-gcc14.patch b/utils/quota/patches/010-gcc14.patch
new file mode 100644 (file)
index 0000000..2637fcd
--- /dev/null
@@ -0,0 +1,57 @@
+--- 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) {