OSDN Git Service

Allow for systems that do not have S_IR* defined values
authorkorbb <korbb@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Nov 1999 14:50:44 +0000 (14:50 +0000)
committerkorbb <korbb@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Nov 1999 14:50:44 +0000 (14:50 +0000)
Do not call realloc with a NULL pointer

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30391 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/fixinc/fixincl.c
gcc/fixinc/fixlib.c

index 527caf9..73dae90 100644 (file)
@@ -2,6 +2,16 @@ Thu Nov  4 06:39:47 1999  Jeffrey A Law  (law@cygnus.com)
 
        * haifa-sched.c (schedule_block): Fix thinko.
 
+1999-11-03  James McKelvey <mckelvey@fafnir.com>
+
+       * fixinc/fixincl.c(create_file):  Allow for systems that do not have
+       S_IR* defined values
+
+1999-11-03  Philippe De Muyter  <phdm@macqel.be>
+
+       * fixlib.c (load_file_data): Do not call `realloc' with a NULL pointer;
+       call `malloc' instead.
+
 Wed Nov  3 23:05:14 1999  Mark Mitchell  <mark@codesourcery.com>
 
        * flags.h (flag_renumber_insns): Declare.
index 6a143fd..5a13cbe 100644 (file)
@@ -636,7 +636,22 @@ run_compiles ()
    Input:    the name of the file to create
    Returns:  a file pointer to the new, open file  */
 
-#define S_IRALL (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)
+#if defined(S_IRUSR) && defined(S_IWUSR) && \
+    defined(S_IRGRP) && defined(S_IROTH)
+
+#   define S_IRALL (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)
+#else
+#   define S_IRALL 0644
+#endif
+
+#if defined(S_IRWXU) && defined(S_IRGRP) && defined(S_IXGRP) && \
+    defined(S_IROTH) && defined(S_IXOTH)
+
+#   define S_DIRALL (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH)
+#else
+#   define S_DIRALL 0755
+#endif
+
 
 FILE *
 create_file ()
@@ -660,8 +675,7 @@ create_file ()
           *pz_dir = NUL;
           if (stat (fname, &stbf) < 0)
             {
-              mkdir (fname, S_IFDIR | S_IRWXU | S_IRGRP | S_IXGRP
-                     | S_IROTH | S_IXOTH);
+              mkdir (fname, S_IFDIR | S_DIRALL);
             }
 
           *pz_dir = '/';
index 25a672e..85f9242 100644 (file)
@@ -23,7 +23,10 @@ load_file_data (fp)
       if (space_left < 1024)
         {
           space_left += 4096;
-          pz_data = realloc ((void*)pz_data, space_left + space_used + 1 );
+         if (pz_data)
+            pz_data = realloc ((void*)pz_data, space_left + space_used + 1 );
+         else
+            pz_data = malloc (space_left + space_used + 1 );
         }
       size_read = fread (pz_data + space_used, 1, space_left, fp);