[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
- [PATCH 09/17] diff: remove printint, (continued)
- [PATCH 09/17] diff: remove printint, Paul Eggert, 2021/08/22
- [PATCH 14/17] diff: use mempcpy, Paul Eggert, 2021/08/22
- [PATCH 08/17] diff: remove INT_MAX limit on -F/-p searches, Paul Eggert, 2021/08/22
- [PATCH 03/17] diff3: suppress -fanalyzer alarms, Paul Eggert, 2021/08/22
- [PATCH 16/17] maint: refactor integer overflow checking, Paul Eggert, 2021/08/22
- [PATCH 04/17] maint: zalloc → xzalloc, Paul Eggert, 2021/08/22
- [PATCH 13/17] sdiff: fix unlikely memory leak, Paul Eggert, 2021/08/22
- [PATCH 02/17] maint: remove January workaround for Gnulib issue, Paul Eggert, 2021/08/22
- [PATCH 17/17] diff: add integer overflow checking, Paul Eggert, 2021/08/22
- [PATCH 10/17] maint: lint → GCC_LINT, Paul Eggert, 2021/08/22
- [PATCH 05/17] maint: remove prepargs,
Paul Eggert <=
- [PATCH 07/17] maint: .gitignore updates, Paul Eggert, 2021/08/22
- [PATCH 11/17] maint: modernize IF_LINT for GCC 11.2.1, Paul Eggert, 2021/08/22
- [PATCH 15/17] diff: avoid sprintf %s, Paul Eggert, 2021/08/22