]> git.eshelyaron.com Git - emacs.git/commitdiff
etags.c: avoid side effects in 'if'
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 24 May 2015 21:20:09 +0000 (14:20 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 24 May 2015 21:20:09 +0000 (14:20 -0700)
* lib-src/etags.c (process_file_name, Perl_functions)
(TEX_decode_env): Hoist side effects into previous statement.

lib-src/etags.c

index f049f42b4429d40ae3cbf6f73878e942896cdcdc..ea337d4100822c87cff1ddaae9f9cbafef14d8b0 100644 (file)
@@ -1484,15 +1484,16 @@ process_file_name (char *file, language *lang)
       error ("skipping inclusion of %s in self.", file);
       return;
     }
-  if ((compr = get_compressor_from_suffix (file, &ext)) == NULL)
+  compr = get_compressor_from_suffix (file, &ext);
+  if (compr)
     {
-      compressed_name = NULL;
-      real_name = uncompressed_name = savestr (file);
+      real_name = compressed_name = savestr (file);
+      uncompressed_name = savenstr (file, ext - file);
     }
   else
     {
-      real_name = compressed_name = savestr (file);
-      uncompressed_name = savenstr (file, ext - file);
+      compressed_name = NULL;
+      real_name = uncompressed_name = savestr (file);
     }
 
   /* If the canonicalized uncompressed name
@@ -4299,8 +4300,8 @@ Perl_functions (FILE *inf)
            cp++;
          if (cp == sp)
            continue;           /* nothing found */
-         if ((pos = strchr (sp, ':')) != NULL
-             && pos < cp && pos[1] == ':')
+         pos = strchr (sp, ':');
+         if (pos && pos < cp && pos[1] == ':')
            /* The name is already qualified. */
            make_tag (sp, cp - sp, true,
                      lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
@@ -5051,8 +5052,8 @@ TEX_decode_env (const char *evarname, const char *defenv)
     env = concat (env, defenv, "");
 
   /* Allocate a token table */
-  for (len = 1, p = env; p;)
-    if ((p = strchr (p, ':')) && *++p != '\0')
+  for (len = 1, p = env; (p = strchr (p, ':')); )
+    if (*++p)
       len++;
   TEX_toktab = xnew (len, linebuffer);