diffutils-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 05/17] maint: remove prepargs


From: Paul Eggert
Subject: [PATCH 05/17] maint: remove prepargs
Date: Sun, 22 Aug 2021 14:02:54 -0700

* lib/Makefile.am (noinst_HEADERS): Remove prepargs.h.
(libdiffutils_a_SOURCES): Remove prepargs.c.
* lib/prepargs.c, lib/prepargs.h: Remove.  Hasn’t been
needed for many years.
* src/diff.c: Do not include prepargs.h.
---
 lib/Makefile.am |  4 +--
 lib/prepargs.c  | 91 -------------------------------------------------
 lib/prepargs.h  |  3 --
 src/diff.c      |  1 -
 4 files changed, 2 insertions(+), 97 deletions(-)
 delete mode 100644 lib/prepargs.c
 delete mode 100644 lib/prepargs.h

diff --git a/lib/Makefile.am b/lib/Makefile.am
index 2edb30a..4644135 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -29,7 +29,7 @@ noinst_HEADERS =
 
 include gnulib.mk
 
-noinst_HEADERS += cmpbuf.h prepargs.h
-libdiffutils_a_SOURCES += cmpbuf.c prepargs.c
+noinst_HEADERS += cmpbuf.h
+libdiffutils_a_SOURCES += cmpbuf.c
 
 AM_CFLAGS += $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS)
diff --git a/lib/prepargs.c b/lib/prepargs.c
deleted file mode 100644
index 3751ae0..0000000
--- a/lib/prepargs.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/* Parse arguments from a string and prepend them to an argv.
-
-   Copyright (C) 1999-2002, 2006, 2009-2013, 2015-2021 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 3 of the License, 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, see <http://www.gnu.org/licenses/>.  */
-
-/* Written by Paul Eggert <eggert@twinsun.com>.  */
-
-#include <config.h>
-
-#include "prepargs.h"
-#include <string.h>
-#include <sys/types.h>
-#include <xalloc.h>
-
-#include <ctype.h>
-
-/* IN_CTYPE_DOMAIN (C) is nonzero if the unsigned char C can safely be given
-   as an argument to <ctype.h> macros like "isspace".  */
-#ifdef STDC_HEADERS
-# define IN_CTYPE_DOMAIN(c) 1
-#else
-# define IN_CTYPE_DOMAIN(c) ((c) <= 0177)
-#endif
-
-#define ISSPACE(c) (IN_CTYPE_DOMAIN (c) && isspace (c))
-
-/* Find the white-space-separated options specified by OPTIONS, and
-   using BUF to store copies of these options, set ARGV[0], ARGV[1],
-   etc. to the option copies.  Return the number N of options found.
-   Do not set ARGV[N].  If ARGV is zero, do not store ARGV[0] etc.
-   Backslash can be used to escape whitespace (and backslashes).  */
-static int
-prepend_args (char const *options, char *buf, char **argv)
-{
-  char const *o = options;
-  char *b = buf;
-  int n = 0;
-
-  for (;;)
-    {
-      while (ISSPACE ((unsigned char) *o))
-        o++;
-      if (!*o)
-        return n;
-      if (argv)
-        argv[n] = b;
-      n++;
-
-      do
-        if ((*b++ = *o++) == '\\' && *o)
-          b[-1] = *o++;
-      while (*o && ! ISSPACE ((unsigned char) *o));
-
-      *b++ = '\0';
-    }
-}
-
-/* Prepend the whitespace-separated options in OPTIONS to the argument
-   vector of a main program with argument count *PARGC and argument
-   vector *PARGV.  */
-void
-prepend_default_options (char const *options, int *pargc, char ***pargv)
-{
-  if (options)
-    {
-      char *buf = xmalloc (strlen (options) + 1);
-      int prepended = prepend_args (options, buf, (char **) 0);
-      int argc = *pargc;
-      char * const *argv = *pargv;
-      char **pp = xmalloc ((prepended + argc + 1) * sizeof *pp);
-      *pargc = prepended + argc;
-      *pargv = pp;
-      *pp++ = *argv++;
-      pp += prepend_args (options, buf, pp);
-      while ((*pp++ = *argv++))
-        continue;
-    }
-}
diff --git a/lib/prepargs.h b/lib/prepargs.h
deleted file mode 100644
index ce93ea8..0000000
--- a/lib/prepargs.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* Parse arguments from a string and prepend them to an argv.  */
-
-void prepend_default_options (char const *, int *, char ***);
diff --git a/src/diff.c b/src/diff.c
index 9938daa..7eafbdd 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -33,7 +33,6 @@
 #include <fnmatch.h>
 #include <getopt.h>
 #include <hard-locale.h>
-#include <prepargs.h>
 #include <progname.h>
 #include <sh-quote.h>
 #include <stat-time.h>
-- 
2.31.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]