[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug-gnulib] Re: [Patch] mode_* when compiling findutils with fresh gnul
From: |
Paul Eggert |
Subject: |
[bug-gnulib] Re: [Patch] mode_* when compiling findutils with fresh gnulib |
Date: |
Mon, 23 May 2005 01:12:58 -0700 |
User-agent: |
Gnus/5.1006 (Gnus v5.10.6) Emacs/21.4 (gnu/linux) |
address@hidden (James Youngman) writes:
> Gnulib guys, what's the significance of the changes made to
> modechange.c? How should callers who previously used MODE_MASK_PLUS
> modify their code to get the same behaviour?
We couldn't find any programs that set some of the MODE_MASK bits but
not others, and which also conformed to POSIX; so we removed that part
of the interface. As far as I can see GNU find falls into the same
camp (though admittedly the POSIX wording is a bit muddy here).
Also, I notice that import-gnulib hasn't been updated to reflect
the fact that config.rpath now lives in gnulib/build-aux.
So I propose this patch to findutils.
2005-05-23 Paul Eggert <address@hidden>
Adjust to recent gnulib changes.
* import-gnulib.sh: Get config.rpath from gnulib/build-aux,
not gnulib/config.
* find/parser.c (parse_perm): Ignore umask when parsing
symbolic permissions. Adjust to new modechange API.
Index: import-gnulib.sh
===================================================================
RCS file: /cvsroot/findutils/findutils/import-gnulib.sh,v
retrieving revision 1.18
diff -p -u -b -w -r1.18 import-gnulib.sh
--- import-gnulib.sh 4 Apr 2005 21:02:01 -0000 1.18
+++ import-gnulib.sh 23 May 2005 07:56:24 -0000
@@ -1,7 +1,7 @@
#! /bin/sh
#
# import-gnulib.sh -- imports a copy of gnulib into findutils
-# Copyright (C) 2003,2004 Free Software Foundation, Inc.
+# Copyright (C) 2003,2004,2005 Free Software Foundation, Inc.
#
# 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
@@ -144,5 +144,5 @@ EOF
# some reason, "autoreconf -i" doesn't fetch it.
for f in config.rpath
do
- (set -x; cp "$1"/config/"$f" . )
+ (set -x; cp "$1"/build-aux/"$f" . )
done
Index: find/parser.c
===================================================================
RCS file: /cvsroot/findutils/findutils/find/parser.c,v
retrieving revision 1.64
diff -p -u -b -w -r1.64 parser.c
--- find/parser.c 16 May 2005 21:14:46 -0000 1.64
+++ find/parser.c 23 May 2005 07:56:24 -0000
@@ -1,5 +1,5 @@
/* parser.c -- convert the command line args into an expression tree.
- Copyright (C) 1990, 91, 92, 93, 94, 2000, 2001, 2003, 2004 Free Software
Foundation, Inc.
+ Copyright (C) 1990, 91, 92, 93, 94, 2000, 2001, 2003, 2004, 2005 Free
Software Foundation, Inc.
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
@@ -1231,13 +1231,11 @@ parse_perm (char **argv, int *arg_ptr)
break;
}
- change = mode_compile (argv[*arg_ptr] + mode_start, MODE_MASK_PLUS);
- if (change == MODE_INVALID)
+ change = mode_compile (argv[*arg_ptr] + mode_start);
+ if (! change)
error (1, 0, _("invalid mode `%s'"), argv[*arg_ptr]);
- else if (change == MODE_MEMORY_EXHAUSTED)
- error (1, 0, _("virtual memory exhausted"));
- perm_val = mode_adjust (0, change);
- mode_free (change);
+ perm_val = mode_adjust (0, change, 0);
+ free (change);
our_pred = insert_primary (pred_perm);