Index: import-gnulib.sh =================================================================== RCS file: /sources/findutils/findutils/import-gnulib.sh,v retrieving revision 1.23 diff -u -r1.23 import-gnulib.sh --- import-gnulib.sh 21 Nov 2005 05:42:27 -0000 1.23 +++ import-gnulib.sh 14 Mar 2006 18:00:39 -0000 @@ -1,7 +1,7 @@ #! /bin/sh # # import-gnulib.sh -- imports a copy of gnulib into findutils -# Copyright (C) 2003,2004,2005 Free Software Foundation, Inc. +# Copyright (C) 2003,2004,2005,2006 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 @@ -41,7 +41,7 @@ # Modules needed for findutils itself. findutils_modules="\ alloca argmatch dirname error fileblocks fnmatch-gnu fts \ -getline getopt human idcache lstat malloc memcmp memset mktime \ +getline getopt human idcache inttostr lstat malloc memcmp memset mktime \ modechange pathmax quotearg realloc regex rpmatch savedir stdio-safer \ stpcpy strdup strftime strstr strtol strtoul strtoull strtoumax \ xalloc xalloc-die xgetcwd xstrtol xstrtoumax yesno human filemode \ Index: find/find.c =================================================================== RCS file: /sources/findutils/findutils/find/find.c,v retrieving revision 1.106 diff -u -r1.106 find.c --- find/find.c 4 Jan 2006 19:22:38 -0000 1.106 +++ find/find.c 14 Mar 2006 18:00:39 -0000 @@ -1,6 +1,6 @@ /* find -- search for files in a directory hierarchy Copyright (C) 1990, 91, 92, 93, 94, 2000, - 2003, 2004, 2005 Free Software Foundation, Inc. + 2003, 2004, 2005, 2006 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 @@ -51,6 +51,8 @@ #include "savedirinfo.h" #include "buildcmd.h" #include "dirname.h" +#include "intprops.h" +#include "inttostr.h" #include "quote.h" #include "quotearg.h" @@ -73,7 +75,9 @@ # define N_(String) String #endif -#define apply_predicate(pathname, stat_buf_ptr, node) \ +#define UINTMAX_STRSIZE_BOUND INT_BUFSIZE_BOUND (uintmax_t) + +#define apply_predicate(pathname, stat_buf_ptr, node) \ (*(node)->pred_func)((pathname), (stat_buf_ptr), (node)) #ifdef STAT_MOUNTPOINTS @@ -502,18 +506,20 @@ /* Device number was the same, check if the inode has changed. */ if (old_ino != newinfo->st_ino) { + char buf_old[UINTMAX_STRSIZE_BOUND]; + char buf_new[UINTMAX_STRSIZE_BOUND]; *changed = true; specific_what = specific_dirname(what); fstype = filesystem_type(newinfo, current_dir); error ((isfatal == FATAL_IF_SANITY_CHECK_FAILS) ? 1 : 0, 0, /* no relevant errno value */ - _("%s%s changed during execution of %s (old inode number %ld, new inode number %ld, filesystem type is %s) [ref %ld]"), + _("%s%s changed during execution of %s (old inode number %s, new inode number %s, filesystem type is %s) [ref %ld]"), specific_what, parent ? "/.." : "", progname, - (long) old_ino, - (long) newinfo->st_ino, + umaxtostr (old_ino, buf_old), + umaxtostr (newinfo->st_ino, buf_new), fstype, line_no); free(specific_what);