OSDN Git Service

correct misuse of variables
authorkorbb <korbb@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 Nov 2004 04:20:36 +0000 (04:20 +0000)
committerkorbb <korbb@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 Nov 2004 04:20:36 +0000 (04:20 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90789 138bc75d-0d04-0410-961f-82ee72b054a4

fixincludes/ChangeLog
fixincludes/fixincl.c

index 6f17a1d..9794c66 100644 (file)
@@ -1,3 +1,8 @@
+2004-11-15  Bruce Korb  <bkorb@gnu.org>
+
+       * fixincl.c(fix_with_system): correct misuse of variables and
+       incorrect application of "sizeof()".
+
 2004-11-13  Joseph S. Myers  <joseph@codesourcery.com>
 
        * inclhack.def (hpux_maxint, limits_ifndefs, math_huge_val_ifndef,
index 998ff7e..b361146 100644 (file)
@@ -851,41 +851,43 @@ fix_with_system (tFixDesc* p_fixd,
   char*  pz_cmd;
   char*  pz_scan;
   size_t argsize;
-  int i;
-  tSCC *z_applyfix_prog[2] = {
-    "/../fixincludes/applyfix" EXE_EXT,
-    "/../../fixincludes/applyfix" EXE_EXT };
 
   if (p_fixd->fd_flags & FD_SUBROUTINE)
-    for (i = 0; i < 2; i++)
-      { 
-       struct stat buf;
-
-        argsize = 32
-                + strlen( pz_orig_dir )
-                + sizeof( z_applyfix_prog )
-                + strlen( pz_fix_file )
-                + strlen( pz_file_source )
-                + strlen( pz_temp_file );
-
-        pz_cmd = xmalloc (argsize);
-
-        strcpy( pz_cmd, pz_orig_dir );
-        pz_scan = pz_cmd + strlen( pz_orig_dir );
-        strcpy( pz_scan, z_applyfix_prog );
-        pz_scan += sizeof( z_applyfix_prog ) - 1;
-
-       if (stat (pz_scan, &buf) != -1)
-         {
-            *(pz_scan++) = ' ';
-            /*
-             *  Now add the fix number and file names that may be needed
-             */
-            sprintf (pz_scan, "%ld \'%s\' \'%s\' \'%s\'", p_fixd - fixDescList,
-                    pz_fix_file, pz_file_source, pz_temp_file);
-           break;
-         }
-      }
+    {
+      static const char z_applyfix_prog[] =
+       "/../fixincludes/applyfix" EXE_EXT;
+
+      struct stat buf;
+      argsize = 32
+              + strlen (pz_orig_dir)
+              + sizeof (z_applyfix_prog)
+              + strlen (pz_fix_file)
+              + strlen (pz_file_source)
+              + strlen (pz_temp_file);
+
+      /* Allocate something sure to be big enough for our purposes */
+      pz_cmd = xmalloc (argsize);
+      strcpy (pz_cmd, pz_orig_dir);
+      pz_scan = pz_cmd + strlen (pz_orig_dir);
+
+      strcpy (pz_scan, z_applyfix_prog);
+
+      /* IF we can't find the "applyfix" executable file at the first guess,
+        try one level higher up  */
+      if (stat (pz_cmd, &buf) == -1)
+       {
+         strcpy (pz_scan, "/..");
+         strcpy (pz_scan+3, z_applyfix_prog);
+       }
+
+      pz_scan += strlen (pz_scan);
+
+      /*
+       *  Now add the fix number and file names that may be needed
+       */
+      sprintf (pz_scan, " %ld \'%s\' \'%s\' \'%s\'", p_fixd - fixDescList,
+              pz_fix_file, pz_file_source, pz_temp_file);
+    }
   else /* NOT an "internal" fix: */
     {
       size_t parg_size;