summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--libidu/fnprint.c3
-rw-r--r--libidu/walker.c7
-rw-r--r--src/fnid.c2
-rw-r--r--src/lid.c4
-rw-r--r--src/mkid.c3
6 files changed, 18 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index cc416cd..d44e3bd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,10 +1,19 @@
+1998-11-20 Greg McGary <gkm@gnu.org>
+
+ * libidu/fnprint.c (print_filenames): Move ALLOCA outside loop.
+ libidu/walker.c (get_lang_args): Ditto.
+ src/fnid.c (main): Ditto.
+ src/lid.c (report_grep, search_flinkv): Ditto.
+ src/mkid.c (scan_member_file): Consolidate two ALLOCA buffers
+ at inner scopes to a single buffer at an outer scope.
+
1998-11-18 Greg McGary <gkm@gnu.org>
* missing: Add file.
* configure.in, lib/Makefile.am, libidu/Makefile.am:
Conform macro names to automake-1.3 conventions.
-
+
* libidu/scanners.c (id_0): Increase size and make file static.
Tue Aug 6 22:46:16 1996 Greg McGary <gkm@g2>
diff --git a/libidu/fnprint.c b/libidu/fnprint.c
index ea5ea88..7716f05 100644
--- a/libidu/fnprint.c
+++ b/libidu/fnprint.c
@@ -80,6 +80,7 @@ print_filenames (struct file_link **flinkv, enum separator_style separator_style
struct file_link const *arg;
struct file_link const *dlink;
int brace_is_open = 0;
+ char *file_name = ALLOCA (char, PATH_MAX);
while (*flinkv)
{
@@ -94,7 +95,6 @@ print_filenames (struct file_link **flinkv, enum separator_style separator_style
dlink = arg->fl_parent;
if (dlink && dlink != cw_dlink)
{
- char *file_name = ALLOCA (char, PATH_MAX);
maybe_relative_file_name (file_name, dlink, cw_dlink);
fputs (file_name, stdout);
putchar ('/');
@@ -109,7 +109,6 @@ print_filenames (struct file_link **flinkv, enum separator_style separator_style
printf (",%s}%s", root_name (arg->fl_name), suff_name (arg->fl_name));
else
{
- char *file_name = ALLOCA (char, PATH_MAX);
maybe_relative_file_name (file_name, arg, cw_dlink);
fputs (file_name, stdout);
}
diff --git a/libidu/walker.c b/libidu/walker.c
index 0ba2d89..d2c1940 100644
--- a/libidu/walker.c
+++ b/libidu/walker.c
@@ -171,7 +171,6 @@ walk_flink (struct file_link *flink, struct dynvec *sub_dirs_vec)
(FL_IS_FILE (old_flags) ? _("file") : _("directory")),
(FL_IS_FILE (new_flags) ? _("file") : _("directory")));
}
-
flink->fl_flags = (old_flags & ~(FL_TYPE_MASK|FL_SYM_LINK)) | new_flags;
if (FL_IS_DIR (new_flags))
@@ -413,12 +412,12 @@ struct lang_args *
get_lang_args (struct file_link const *flink)
{
struct lang_args *args = lang_args_list;
+ char *file_name = ALLOCA (char, PATH_MAX);
while (args)
{
if (strchr (args->la_pattern, SLASH_CHAR))
{
- char *file_name = ALLOCA (char, PATH_MAX);
absolute_file_name (file_name, flink);
if (fnmatch (args->la_pattern, file_name, MAYBE_FNM_CASEFOLD | FNM_FILE_NAME) == 0)
return (args->la_language ? args : 0);
@@ -480,7 +479,7 @@ append_strings_to_vector (char **vector_0, char *string, char *delimiter_class)
}
else
vector = vector_0 = MALLOC (char *, 2 + strlen (string) / 2);
-
+
*vector = strtok (string, delimiter_class);
while (*vector)
*++vector = strtok (0, delimiter_class);
@@ -655,7 +654,7 @@ vectorize_string (char *string, char *delimiter_class)
{
char **vector_0 = MALLOC (char *, 2 + strlen (string) / 2);
char **vector = vector_0;
-
+
*vector = strtok (string, delimiter_class);
while (*vector)
*++vector = strtok (0, delimiter_class);
diff --git a/src/fnid.c b/src/fnid.c
index 7b4610a..d91fdad 100644
--- a/src/fnid.c
+++ b/src/fnid.c
@@ -159,6 +159,7 @@ main (int argc, char **argv)
char **patv_0 = MALLOC (char *, argc * 2);
char **patv_N;
char **patv = patv_0;
+ char *file_name = ALLOCA (char, PATH_MAX);
for ( ; argc; argc--, argv++)
{
@@ -175,7 +176,6 @@ main (int argc, char **argv)
for ( ; members < members_N; members++)
{
- char *file_name = ALLOCA (char, PATH_MAX);
maybe_relative_file_name (file_name, *members, cw_dlink);
for (patv = patv_0; patv < patv_N; patv++)
{
diff --git a/src/lid.c b/src/lid.c
index 7971ff8..ded6894 100644
--- a/src/lid.c
+++ b/src/lid.c
@@ -537,6 +537,7 @@ report_grep (char const *name, struct file_link **flinkv)
char line[1<<020];
char const *pattern = 0;
regex_t compiled;
+ char *file_name = ALLOCA (char, PATH_MAX);
if (key_style == ks_pattern)
{
@@ -558,7 +559,6 @@ report_grep (char const *name, struct file_link **flinkv)
while (*flinkv)
{
int line_number = 0;
- char *file_name = ALLOCA (char, PATH_MAX);
FILE *gid_FILE;
maybe_relative_file_name (file_name, *flinkv++, cw_dlink);
@@ -761,13 +761,13 @@ search_flinkv (struct file_link **flinkv)
{
char pattern[BUFSIZ];
unsigned int count;
+ char *file_name = ALLOCA (char, PATH_MAX);
if (gets (pattern) == 0)
return -1;
for (count = 0; *flinkv; count++, flinkv++)
{
- char *file_name = ALLOCA (char, PATH_MAX);
maybe_relative_file_name (file_name, *flinkv, cw_dlink);
if (strcasestr (file_name, pattern))
return count;
diff --git a/src/mkid.c b/src/mkid.c
index 2777178..3168c49 100644
--- a/src/mkid.c
+++ b/src/mkid.c
@@ -360,11 +360,11 @@ scan_member_file (struct member_file const *member)
source_FILE = fopen (flink->fl_name, "r");
if (source_FILE)
{
+ char *file_name = ALLOCA (char, PATH_MAX);
if (statistics_flag)
{
if (fstat (fileno (source_FILE), &st) < 0)
{
- char *file_name = ALLOCA (char, PATH_MAX);
maybe_relative_file_name (file_name, flink, cw_dlink);
error (0, errno, _("can't stat `%s'"), file_name);
}
@@ -373,7 +373,6 @@ scan_member_file (struct member_file const *member)
}
if (verbose_flag)
{
- char *file_name = ALLOCA (char, PATH_MAX);
maybe_relative_file_name (file_name, flink, cw_dlink);
printf ("%d: %s: %s", member->mf_index, lang->lg_name, file_name);
fflush (stdout);