Imported from ../bash-2.0.tar.gz.
This commit is contained in:
		
					parent
					
						
							
								726f63884d
							
						
					
				
			
			
				commit
				
					
						ccc6cda312
					
				
			
		
					 502 changed files with 91988 additions and 69123 deletions
				
			
		| 
						 | 
				
			
			@ -4,39 +4,46 @@
 | 
			
		|||
#								   #
 | 
			
		||||
####################################################################
 | 
			
		||||
 | 
			
		||||
# This Makefile is hand made from a template file, found in
 | 
			
		||||
# ../template.  Each library must provide several Makefile
 | 
			
		||||
# targets: `all', `clean', `documentation', `install', and
 | 
			
		||||
# `what-tar'.  The `what-tar' target reports the names of the
 | 
			
		||||
# files that need to be included in a tarfile to build the full
 | 
			
		||||
# code and documentation for this library.
 | 
			
		||||
srcdir = @srcdir@
 | 
			
		||||
VPATH = .:@srcdir@
 | 
			
		||||
topdir = @top_srcdir@
 | 
			
		||||
BUILD_DIR = @BUILD_DIR@
 | 
			
		||||
 | 
			
		||||
# Please note that the values for INCLUDES, CC, AR, RM, CP,
 | 
			
		||||
# RANLIB, and selfdir are passed in from ../Makefile, and do
 | 
			
		||||
# not need to be defined here.
 | 
			
		||||
srcdir = .
 | 
			
		||||
VPATH = .:$(srcdir)
 | 
			
		||||
INSTALL = @INSTALL@
 | 
			
		||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
 | 
			
		||||
INSTALL_DATA = @INSTALL_DATA@
 | 
			
		||||
 | 
			
		||||
CC = @CC@
 | 
			
		||||
RANLIB = @RANLIB@
 | 
			
		||||
AR = @AR@
 | 
			
		||||
RM = rm
 | 
			
		||||
CP = cp
 | 
			
		||||
MV = mv
 | 
			
		||||
 | 
			
		||||
CFLAGS = @CFLAGS@
 | 
			
		||||
LOCAL_CFLAGS = @LOCAL_CFLAGS@
 | 
			
		||||
CPPFLAGS = @CPPFLAGS@
 | 
			
		||||
LDFLAGS = @LDFLAGS@ @LOCAL_LDFLAGS@
 | 
			
		||||
 | 
			
		||||
DEFS = @DEFS@
 | 
			
		||||
 | 
			
		||||
INCLUDES = -I. -I../.. -I$(topdir) -I$(topdir)/lib
 | 
			
		||||
 | 
			
		||||
CCFLAGS = $(DEFS) $(CPPFLAGS) ${INCLUDES} $(LOCAL_CFLAGS) $(CFLAGS)
 | 
			
		||||
 | 
			
		||||
# Here is a rule for making .o files from .c files that doesn't force
 | 
			
		||||
# the type of the machine (like -sun3) into the flags.
 | 
			
		||||
.c.o:
 | 
			
		||||
	$(CC) -c $(CFLAGS) $(INCLUDES) $(LOCAL_DEFINES) $(CPPFLAGS) $<
 | 
			
		||||
 | 
			
		||||
# LOCAL_DEFINES are flags that are specific to this library.
 | 
			
		||||
# Define -DUSG if you are using a System V operating system.
 | 
			
		||||
LOCAL_DEFINES = $(LOCAL_INCLUDES) #-DUSG
 | 
			
		||||
 | 
			
		||||
# For libraries which include headers from other libraries.
 | 
			
		||||
LOCAL_INCLUDES = -I..
 | 
			
		||||
	$(CC) -c $(CCFLAGS) $<
 | 
			
		||||
 | 
			
		||||
# The name of the library target.
 | 
			
		||||
LIBRARY_NAME = libglob.a
 | 
			
		||||
 | 
			
		||||
# The C code source files for this library.
 | 
			
		||||
CSOURCES = $(srcdir)glob.c $(srcdir)fnmatch.c
 | 
			
		||||
CSOURCES = $(srcdir)/glob.c $(srcdir)/fnmatch.c
 | 
			
		||||
 | 
			
		||||
# The header files for this library.
 | 
			
		||||
HSOURCES = $(srcdir)fnmatch.h
 | 
			
		||||
HSOURCES = $(srcdir)/fnmatch.h
 | 
			
		||||
 | 
			
		||||
OBJECTS = glob.o fnmatch.o
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -58,8 +65,8 @@ all: $(LIBRARY_NAME)
 | 
			
		|||
 | 
			
		||||
$(LIBRARY_NAME): $(OBJECTS)
 | 
			
		||||
	$(RM) -f $@
 | 
			
		||||
	$(AR) cq $@ $(OBJECTS)
 | 
			
		||||
	-[ -n "$(RANLIB)" ] && $(RANLIB) $@
 | 
			
		||||
	$(AR) cr $@ $(OBJECTS)
 | 
			
		||||
	-test -n "$(RANLIB)" && $(RANLIB) $@
 | 
			
		||||
 | 
			
		||||
what-tar:
 | 
			
		||||
	@for file in $(THINGS_TO_TAR); do \
 | 
			
		||||
| 
						 | 
				
			
			@ -67,24 +74,24 @@ what-tar:
 | 
			
		|||
	done
 | 
			
		||||
 | 
			
		||||
documentation: force
 | 
			
		||||
	-(cd doc && $(MAKE) $(MFLAGS))
 | 
			
		||||
 | 
			
		||||
	-(cd doc; $(MAKE) $(MFLAGS))
 | 
			
		||||
force:
 | 
			
		||||
 | 
			
		||||
# The rule for 'includes' is written funny so that the if statement
 | 
			
		||||
# always returns TRUE unless there really was an error installing the
 | 
			
		||||
# include files.
 | 
			
		||||
install:
 | 
			
		||||
	-$(MV) $(bindir)/$(LIBRARY_NAME) $(bindir)/$(LIBRARY_NAME)-old
 | 
			
		||||
	$(CP) $(LIBRARY_NAME) $(bindir)/$(LIBRARY_NAME)
 | 
			
		||||
	-[ -n "$(RANLIB)" ] && $(RANLIB) -t $(bindir)/$(LIBRARY_NAME)
 | 
			
		||||
 | 
			
		||||
clean:
 | 
			
		||||
	rm -f $(OBJECTS) $(LIBRARY_NAME)
 | 
			
		||||
	-(cd doc && $(MAKE) $(MFLAGS) $@)
 | 
			
		||||
	-(cd doc && $(MAKE) $(MFLAGS) $@ )
 | 
			
		||||
 | 
			
		||||
maintainer-clean realclean mostlyclean distclean: clean
 | 
			
		||||
	-(cd doc && $(MAKE) $(MFLAGS) $@)
 | 
			
		||||
realclean distclean maintainer-clean: clean
 | 
			
		||||
	-( cd doc && $(MAKE) $(MFLAGS) $@ )
 | 
			
		||||
	$(RM) -f Makefile
 | 
			
		||||
 | 
			
		||||
mostlyclean: clean
 | 
			
		||||
	-( cd doc && $(MAKE) $(MFLAGS) $@ )
 | 
			
		||||
 | 
			
		||||
######################################################################
 | 
			
		||||
#								     #
 | 
			
		||||
| 
						 | 
				
			
			@ -93,3 +100,6 @@ maintainer-clean realclean mostlyclean distclean: clean
 | 
			
		|||
######################################################################
 | 
			
		||||
 | 
			
		||||
fnmatch.o: fnmatch.c fnmatch.h
 | 
			
		||||
 | 
			
		||||
fnmatch.o: $(BUILD_DIR)/config.h
 | 
			
		||||
glob.o: $(BUILD_DIR)/config.h
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
all:
 | 
			
		||||
	cp glob.texi glob.info
 | 
			
		||||
 | 
			
		||||
maintainer-clean realclean distclean clean:
 | 
			
		||||
clean distclean mostlyclean maintainer-clean:
 | 
			
		||||
	rm -f glob.?? glob.info
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -68,10 +68,14 @@ fnmatch (pattern, string, flags)
 | 
			
		|||
	      (n == string || ((flags & FNM_PATHNAME) && n[-1] == '/')))
 | 
			
		||||
	    return (FNM_NOMATCH);
 | 
			
		||||
 | 
			
		||||
	  for (c = *p++; c == '?' || c == '*'; c = *p++, ++n)
 | 
			
		||||
	    if (((flags & FNM_PATHNAME) && *n == '/') ||
 | 
			
		||||
		(c == '?' && *n == '\0'))
 | 
			
		||||
	      return (FNM_NOMATCH);
 | 
			
		||||
	  for (c = *p++; c == '?' || c == '*'; c = *p++)
 | 
			
		||||
	    {
 | 
			
		||||
	      if (((flags & FNM_PATHNAME) && *n == '/') ||
 | 
			
		||||
		  (c == '?' && *n == '\0'))
 | 
			
		||||
		return (FNM_NOMATCH);
 | 
			
		||||
	      if (c == '?')
 | 
			
		||||
		n++;
 | 
			
		||||
	    }
 | 
			
		||||
 | 
			
		||||
	  if (c == '\0')
 | 
			
		||||
	    return (0);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,45 +14,48 @@
 | 
			
		|||
   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., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* To whomever it may concern: I have never seen the code which most
 | 
			
		||||
   Unix programs use to perform this function.  I wrote this from scratch
 | 
			
		||||
   based on specifications for the pattern matching.  --RMS.  */
 | 
			
		||||
 | 
			
		||||
#if defined (SHELL)
 | 
			
		||||
#  if defined (HAVE_STDLIB_H)
 | 
			
		||||
#    include <stdlib.h>
 | 
			
		||||
#  else
 | 
			
		||||
#include <config.h>
 | 
			
		||||
 | 
			
		||||
#if !defined (__GNUC__) && !defined (HAVE_ALLOCA_H) && defined (_AIX)
 | 
			
		||||
  #pragma alloca
 | 
			
		||||
#endif /* _AIX && RISC6000 && !__GNUC__ */
 | 
			
		||||
 | 
			
		||||
#if defined (HAVE_UNISTD_H)
 | 
			
		||||
#  include <unistd.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined (HAVE_STDLIB_H)
 | 
			
		||||
#  include <stdlib.h>
 | 
			
		||||
#else
 | 
			
		||||
#  if defined (SHELL)
 | 
			
		||||
#    include "ansi_stdlib.h"
 | 
			
		||||
#  endif /* HAVE_STDLIB_H */
 | 
			
		||||
#  include <config.h>
 | 
			
		||||
#  endif /* SHELL */
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
 | 
			
		||||
#if !defined (SHELL) && (defined (_POSIX_VERSION) || defined (USGr3))
 | 
			
		||||
#  if !defined (HAVE_DIRENT_H)
 | 
			
		||||
#    define HAVE_DIRENT_H
 | 
			
		||||
#  endif /* !HAVE_DIRENT_H */
 | 
			
		||||
#endif /* !SHELL && (_POSIX_VERSION || USGr3) */
 | 
			
		||||
 | 
			
		||||
#if defined (HAVE_DIRENT_H)
 | 
			
		||||
#  include <dirent.h>
 | 
			
		||||
#  if !defined (direct)
 | 
			
		||||
#    define direct dirent
 | 
			
		||||
#  endif /* !direct */
 | 
			
		||||
#  define D_NAMLEN(d) strlen ((d)->d_name)
 | 
			
		||||
#else /* !HAVE_DIRENT_H */
 | 
			
		||||
#  define D_NAMLEN(d) ((d)->d_namlen)
 | 
			
		||||
#  if defined (USG)
 | 
			
		||||
#    if defined (Xenix)
 | 
			
		||||
#      include <sys/ndir.h>
 | 
			
		||||
#    else /* !Xenix (but USG...) */
 | 
			
		||||
#      include "ndir.h"
 | 
			
		||||
#    endif /* !Xenix */
 | 
			
		||||
#  else /* !USG */
 | 
			
		||||
#  if defined (HAVE_SYS_NDIR_H)
 | 
			
		||||
#    include <sys/ndir.h>
 | 
			
		||||
#  endif
 | 
			
		||||
#  if defined (HAVE_SYS_DIR_H)
 | 
			
		||||
#    include <sys/dir.h>
 | 
			
		||||
#  endif /* !USG */
 | 
			
		||||
#  endif /* HAVE_SYS_DIR_H */
 | 
			
		||||
#  if defined (HAVE_NDIR_H)
 | 
			
		||||
#    include <ndir.h>
 | 
			
		||||
#  endif
 | 
			
		||||
#  if !defined (dirent)
 | 
			
		||||
#    define dirent direct
 | 
			
		||||
#  endif
 | 
			
		||||
#endif /* !HAVE_DIRENT_H */
 | 
			
		||||
 | 
			
		||||
#if defined (_POSIX_SOURCE)
 | 
			
		||||
| 
						 | 
				
			
			@ -63,34 +66,18 @@
 | 
			
		|||
#  define REAL_DIR_ENTRY(dp) (dp->d_ino != 0)
 | 
			
		||||
#endif /* _POSIX_SOURCE */
 | 
			
		||||
 | 
			
		||||
#if defined (USG) || defined (NeXT)
 | 
			
		||||
#  if !defined (HAVE_STRING_H)
 | 
			
		||||
#    define HAVE_STRING_H
 | 
			
		||||
#  endif /* !HAVE_STRING_H */
 | 
			
		||||
#endif /* USG || NeXT */
 | 
			
		||||
 | 
			
		||||
#if defined (HAVE_STRING_H)
 | 
			
		||||
#  include <string.h>
 | 
			
		||||
#else /* !HAVE_STRING_H */
 | 
			
		||||
#  include <strings.h>
 | 
			
		||||
#endif /* !HAVE_STRING_H */
 | 
			
		||||
 | 
			
		||||
#if defined (USG)
 | 
			
		||||
#  if !defined (isc386)
 | 
			
		||||
#    include <memory.h>
 | 
			
		||||
#  endif /* !isc386 */
 | 
			
		||||
#  if defined (RISC6000)
 | 
			
		||||
extern void bcopy ();
 | 
			
		||||
#  else /* !RISC6000 */
 | 
			
		||||
#    define bcopy(s, d, n) ((void) memcpy ((d), (s), (n)))
 | 
			
		||||
#  endif /* !RISC6000 */
 | 
			
		||||
#endif /* USG */
 | 
			
		||||
 | 
			
		||||
#include "fnmatch.h"
 | 
			
		||||
#if !defined (HAVE_BCOPY)
 | 
			
		||||
#  define bcopy(s, d, n) ((void) memcpy ((d), (s), (n)))
 | 
			
		||||
#endif /* !HAVE_BCOPY */
 | 
			
		||||
 | 
			
		||||
/* If the opendir () on your system lets you open non-directory files,
 | 
			
		||||
   then we consider that not robust.  Define OPENDIR_NOT_ROBUST in the
 | 
			
		||||
   SYSDEP_CFLAGS for your machines entry in machines.h. */
 | 
			
		||||
   then we consider that not robust. */
 | 
			
		||||
#if defined (OPENDIR_NOT_ROBUST)
 | 
			
		||||
#  if defined (SHELL)
 | 
			
		||||
#    include "posixstat.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -99,7 +86,10 @@ extern void bcopy ();
 | 
			
		|||
#  endif /* !SHELL */
 | 
			
		||||
#endif /* OPENDIR_NOT_ROBUST */
 | 
			
		||||
 | 
			
		||||
#if !defined (HAVE_STDLIB_H)
 | 
			
		||||
#include "memalloc.h"
 | 
			
		||||
#include "fnmatch.h"
 | 
			
		||||
 | 
			
		||||
#if !defined (HAVE_STDLIB_H) && !defined (SHELL)
 | 
			
		||||
extern char *malloc (), *realloc ();
 | 
			
		||||
extern void free ();
 | 
			
		||||
#endif /* !HAVE_STDLIB_H */
 | 
			
		||||
| 
						 | 
				
			
			@ -123,7 +113,6 @@ int noglob_dot_filenames = 1;
 | 
			
		|||
/* Global variable to return to signify an error in globbing. */
 | 
			
		||||
char *glob_error_return;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* Return nonzero if PATTERN has any special globbing chars in it.  */
 | 
			
		||||
int
 | 
			
		||||
glob_pattern_p (pattern)
 | 
			
		||||
| 
						 | 
				
			
			@ -205,7 +194,7 @@ glob_vector (pat, dir)
 | 
			
		|||
    };
 | 
			
		||||
 | 
			
		||||
  DIR *d;
 | 
			
		||||
  register struct direct *dp;
 | 
			
		||||
  register struct dirent *dp;
 | 
			
		||||
  struct globval *lastlink;
 | 
			
		||||
  register struct globval *nextlink;
 | 
			
		||||
  register char *nextname;
 | 
			
		||||
| 
						 | 
				
			
			@ -365,7 +354,14 @@ glob_dir_to_array (dir, array)
 | 
			
		|||
				   + strlen (array[i]) + 1);
 | 
			
		||||
      if (result[i] == NULL)
 | 
			
		||||
	return (NULL);
 | 
			
		||||
      sprintf (result[i], "%s%s%s", dir, add_slash ? "/" : "", array[i]);
 | 
			
		||||
#if 1
 | 
			
		||||
      strcpy (result[i], dir);
 | 
			
		||||
      if (add_slash)
 | 
			
		||||
        result[i][l] = '/';
 | 
			
		||||
      strcpy (result[i] + l + add_slash, array[i]);
 | 
			
		||||
#else
 | 
			
		||||
      (void)sprintf (result[i], "%s%s%s", dir, add_slash ? "/" : "", array[i]);
 | 
			
		||||
#endif
 | 
			
		||||
    }
 | 
			
		||||
  result[i] = NULL;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -432,7 +428,7 @@ glob_filename (pathname)
 | 
			
		|||
	goto memory_error;
 | 
			
		||||
      else if (directories == (char **)&glob_error_return)
 | 
			
		||||
	{
 | 
			
		||||
	  free ((char *)result);
 | 
			
		||||
	  free ((char *) result);
 | 
			
		||||
	  return ((char **) &glob_error_return);
 | 
			
		||||
	}
 | 
			
		||||
      else if (*directories == NULL)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										30
									
								
								lib/glob/glob.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								lib/glob/glob.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,30 @@
 | 
			
		|||
/* File-name wildcard pattern matching for GNU.
 | 
			
		||||
   Copyright (C) 1985, 1988, 1989 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 1, 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.
 | 
			
		||||
 | 
			
		||||
   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., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 | 
			
		||||
 | 
			
		||||
#ifndef	_GLOB_H_
 | 
			
		||||
#define	_GLOB_H_
 | 
			
		||||
 | 
			
		||||
#include "stdc.h"
 | 
			
		||||
 | 
			
		||||
extern int glob_pattern_p __P((char *));
 | 
			
		||||
extern char **glob_vector __P((char *, char *));
 | 
			
		||||
extern char **glob_filename __P((char *));
 | 
			
		||||
 | 
			
		||||
extern char *glob_error_return;
 | 
			
		||||
extern int noglob_dot_filenames;
 | 
			
		||||
 | 
			
		||||
#endif /* _GLOB_H_ */
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue