1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-04-16 00:36:08 +02:00
This commit is contained in:
Jim Meyering
1997-02-04 03:27:13 +00:00
parent 1235c944d2
commit a0aa288531
7 changed files with 61 additions and 71 deletions

View File

@@ -16,9 +16,9 @@
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* David MacKenzie <djm@gnu.ai.mit.edu>.
Some algorithms adapted from GNU Emacs. */
Some algorithms adapted from GNU Emacs. */
#ifdef HAVE_CONFIG_H
#if HAVE_CONFIG_H
# include <config.h>
#endif
@@ -26,77 +26,68 @@
#include <ctype.h>
#include <sys/types.h>
#include "backupfile.h"
#ifdef HAVE_STRING_H
#if HAVE_STRING_H
# include <string.h>
#else
# include <strings.h>
#endif
#ifdef HAVE_DIRENT_H
#if HAVE_DIRENT_H
# include <dirent.h>
# define NLENGTH(direct) (strlen((direct)->d_name))
#else /* not HAVE_DIRENT_H */
# define NLENGTH(Direct) (strlen((Direct)->d_name))
#else
# define dirent direct
# define NLENGTH(direct) ((direct)->d_namlen)
# ifdef HAVE_SYS_NDIR_H
# define NLENGTH(Direct) ((Direct)->d_namlen)
# if HAVE_SYS_NDIR_H
# include <sys/ndir.h>
# endif /* HAVE_SYS_NDIR_H */
# ifdef HAVE_SYS_DIR_H
# endif
# if HAVE_SYS_DIR_H
# include <sys/dir.h>
# endif /* HAVE_SYS_DIR_H */
# ifdef HAVE_NDIR_H
# endif
# if HAVE_NDIR_H
# include <ndir.h>
# endif /* HAVE_NDIR_H */
#endif /* HAVE_DIRENT_H */
# endif
#endif
#ifdef CLOSEDIR_VOID
/* Fake a return value. */
#if CLOSEDIR_VOID
/* Fake a return value. */
# define CLOSEDIR(d) (closedir (d), 0)
#else
# define CLOSEDIR(d) closedir (d)
#endif
#ifdef STDC_HEADERS
#if STDC_HEADERS
# include <stdlib.h>
#else
char *malloc ();
#endif
#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
# define IN_CTYPE_DOMAIN(c) 1
# define IN_CTYPE_DOMAIN(Char) 1
#else
# define IN_CTYPE_DOMAIN(c) isascii(c)
# define IN_CTYPE_DOMAIN(Char) isascii(Char)
#endif
#define ISDIGIT_LOCALE(c) (IN_CTYPE_DOMAIN (c) && isdigit (c))
#define ISDIGIT(Char) (IN_CTYPE_DOMAIN ((unsigned char) (Char)) \
&& isdigit ((unsigned char) (Char)))
/* ISDIGIT differs from ISDIGIT_LOCALE, as follows:
- Its arg may be any int or unsigned int; it need not be an unsigned char.
- It's guaranteed to evaluate its argument exactly once.
- It's typically faster.
Posix 1003.2-1992 section 2.5.2.1 page 50 lines 1556-1558 says that
only '0' through '9' are digits. Prefer ISDIGIT to ISDIGIT_LOCALE unless
it's important to use the locale's definition of `digit' even when the
host does not conform to Posix. */
#define ISDIGIT(c) ((unsigned) (c) - '0' <= 9)
#if defined (HAVE_UNISTD_H)
#include <unistd.h>
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
#if defined (_POSIX_VERSION)
#ifdef _POSIX_VERSION
/* POSIX does not require that the d_ino field be present, and some
systems do not provide it. */
# define REAL_DIR_ENTRY(dp) 1
systems do not provide it. */
# define REAL_DIR_ENTRY(Dp) 1
#else
# define REAL_DIR_ENTRY(dp) ((dp)->d_ino != 0)
# define REAL_DIR_ENTRY(Dp) ((Dp)->d_ino != 0)
#endif
/* Which type of backup file names are generated. */
/* Which type of backup file names are generated. */
enum backup_type backup_type = none;
/* The extension added to file names to produce a simple (as opposed
to numbered) backup file name. */
to numbered) backup file name. */
char *simple_backup_suffix = "~";
char *basename ();
@@ -110,7 +101,7 @@ static int version_number ();
/* Return the name of the new backup file for file FILE,
allocated with malloc. Return 0 if out of memory.
FILE must not end with a '/' unless it is the root directory.
Do not call this function if backup_type == none. */
Do not call this function if backup_type == none. */
char *
find_backup_file_name (file)
@@ -142,7 +133,7 @@ find_backup_file_name (file)
/* Return the number of the highest-numbered backup file for file
FILE in directory DIR. If there are no numbered backups
of FILE in DIR, or an error occurs reading DIR, return 0.
FILE should already have ".~" appended to it. */
FILE should already have ".~" appended to it. */
static int
max_backup_version (file, dir)
@@ -177,7 +168,7 @@ max_backup_version (file, dir)
}
/* Return a string, allocated with malloc, containing
"FILE.~VERSION~". Return 0 if out of memory. */
"FILE.~VERSION~". Return 0 if out of memory. */
static char *
make_version_name (file, version)
@@ -195,7 +186,7 @@ make_version_name (file, version)
/* If BACKUP is a numbered backup of BASE, return its version number;
otherwise return 0. BASE_LENGTH is the length of BASE.
BASE should already have ".~" appended to it. */
BASE should already have ".~" appended to it. */
static int
version_number (base, backup, base_length)
@@ -218,7 +209,7 @@ version_number (base, backup, base_length)
}
/* Return the newly-allocated concatenation of STR1 and STR2.
If out of memory, return 0. */
If out of memory, return 0. */
static char *
concat (str1, str2)

View File

@@ -15,20 +15,20 @@
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* When to make backup files. */
/* When to make backup files. */
enum backup_type
{
/* Never make backups. */
/* Never make backups. */
none,
/* Make simple backups of every file. */
/* Make simple backups of every file. */
simple,
/* Make numbered backups of files that already have numbered backups,
and simple backups of the others. */
and simple backups of the others. */
numbered_existing,
/* Make numbered backups of every file. */
/* Make numbered backups of every file. */
numbered
};

View File

@@ -68,7 +68,7 @@ unsigned int error_message_count;
# define program_name program_invocation_name
# include <errno.h>
#else /* not _LIBC */
#else /* not _LIBC */
/* The calling program should define program_name and set it to the
name of the executing program. */
@@ -92,6 +92,7 @@ private_strerror (errnum)
}
# define strerror private_strerror
# endif /* HAVE_STRERROR */
#endif /* not _LIBC */
/* Print the program name and error message MESSAGE, which is a printf-style

View File

@@ -369,5 +369,3 @@ memcmp (s1, s2, len)
#undef bcmp
weak_alias (memcmp, bcmp)
#endif

View File

@@ -1,22 +1,22 @@
/* rpmatch - determine whether string value is affirmation or negative
response according to current locale's data
Copyright (C) 1996 Free Software Foundation, Inc.
/* Determine whether string value is affirmation or negative response
according to current locale's data.
Copyright (C) 1996 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
the Free Software Foundation; either version 2, or (at your option)
any later version.
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
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H
#if HAVE_CONFIG_H
# include <config.h>
#endif
@@ -30,7 +30,7 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#endif
#include <sys/types.h>
#ifdef WITH_REGEX
#if WITH_REGEX
# include <regex.h>
#else
# include <rx.h>

View File

@@ -14,8 +14,8 @@ for more details.
You should have received a copy of the GNU Library General Public
License along with this software; see the file COPYING.LIB. If not,
write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA
02139, USA. */
write to the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* NOTE!!! AIX is so losing it requires this to be the first thing in the
* file.

View File

@@ -17,8 +17,8 @@ for more details.
You should have received a copy of the GNU Library General Public
License along with this software; see the file COPYING.LIB. If not,
write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA
02139, USA. */
write to the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* t. lord Wed Sep 23 18:20:57 1992 */