From 82129ef5d5932d207d100c731de6de4aeb5c9a15 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 13 Dec 2002 07:52:29 +0000 Subject: [PATCH] (concat2, tr, compute_base_name): Use xmalloc (N) rather than XMALLOC (char, N). (filename_split): Rewrite to avoid cast. --- src/files.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/files.c b/src/files.c index d081f3e0..e92771ff 100644 --- a/src/files.c +++ b/src/files.c @@ -1,4 +1,5 @@ -/* Open and close files for bison, +/* Open and close files for Bison. + Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002 Free Software Foundation, Inc. @@ -75,7 +76,7 @@ static char * concat2 (char const *str1, char const *str2) { size_t len = strlen (str1) + strlen (str2); - char *res = XMALLOC (char, len + 1); + char *res = xmalloc (len + 1); char *cp; cp = stpcpy (res, str1); cp = stpcpy (cp, str2); @@ -127,9 +128,7 @@ static char * tr (const char *in, char from, char to) { char *temp; - char *out; - - out = XMALLOC (char, strlen (in) + 1); + char *out = xmalloc (strlen (in) + 1); for (temp = out; *in; in++, out++) if (*in == from) @@ -201,13 +200,17 @@ filename_split (const char *filename, *ext = strrchr (*base, '.'); *tab = NULL; - /* If there is an exentension, check if there is a `.tab' part right + /* If there is an extension, check if there is a `.tab' part right before. */ - if (*ext - && (*ext - *base) > (int) strlen (".tab") - && (!strncmp (*ext - strlen (".tab"), ".tab", strlen (".tab")) - || !strncmp (*ext - strlen ("_tab"), "_tab", strlen ("_tab")))) - *tab = *ext - strlen (".tab"); + if (*ext) + { + size_t baselen = *ext - *base; + size_t dottablen = 4; + if (dottablen < baselen + && (strncmp (*ext - dottablen, ".tab", dottablen) == 0 + || strncmp (*ext - dottablen, "_tab", dottablen) == 0)) + *tab = *ext - dottablen; + } } @@ -272,8 +275,7 @@ compute_base_names (void) (strlen (base) - (ext ? strlen (ext) : 0))); } - full_base_name = XMALLOC (char, - strlen (short_base_name) + full_base_name = xmalloc (strlen (short_base_name) + strlen (TAB_EXT) + 1); stpcpy (stpcpy (full_base_name, short_base_name), TAB_EXT); -- 2.47.2