aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Korb <korbb@gcc.gnu.org>1999-11-04 14:50:44 +0000
committerBruce Korb <korbb@gcc.gnu.org>1999-11-04 14:50:44 +0000
commit063174eeda2581061573010014d3f56eb040acb9 (patch)
treed392eace2cc7e2d1f6cf5fdaeff51b55cbd2408f
parenteae48b73bd009146558a6033acd65eebd4f7d8d6 (diff)
downloadgcc-063174eeda2581061573010014d3f56eb040acb9.zip
gcc-063174eeda2581061573010014d3f56eb040acb9.tar.gz
gcc-063174eeda2581061573010014d3f56eb040acb9.tar.bz2
Allow for systems that do not have S_IR* defined values
Do not call realloc with a NULL pointer From-SVN: r30391
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/fixinc/fixincl.c20
-rw-r--r--gcc/fixinc/fixlib.c5
3 files changed, 31 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 527caf9..73dae90 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/fixinc/fixincl.c b/gcc/fixinc/fixincl.c
index 6a143fd..5a13cbe 100644
--- a/gcc/fixinc/fixincl.c
+++ b/gcc/fixinc/fixincl.c
@@ -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 = '/';
diff --git a/gcc/fixinc/fixlib.c b/gcc/fixinc/fixlib.c
index 25a672e..85f9242 100644
--- a/gcc/fixinc/fixlib.c
+++ b/gcc/fixinc/fixlib.c
@@ -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);