aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1996-03-04 08:36:14 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1996-03-04 08:36:14 -0500
commit3e386b9e9d4ce3aa2ad3df21fac00ad57d2705d5 (patch)
treec3a43e85aef86c7ab6f03cd4fc068d7160861ba8
parentbb380e9d21f5d19c3ebcf2930d334325748e1697 (diff)
downloadgcc-3e386b9e9d4ce3aa2ad3df21fac00ad57d2705d5.zip
gcc-3e386b9e9d4ce3aa2ad3df21fac00ad57d2705d5.tar.gz
gcc-3e386b9e9d4ce3aa2ad3df21fac00ad57d2705d5.tar.bz2
(xstrdup): New function.
From-SVN: r11408
-rw-r--r--gcc/toplev.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index ad5fe75..7db0b76 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1757,6 +1757,20 @@ xrealloc (ptr, size)
fatal ("virtual memory exhausted");
return result;
}
+
+/* Same as `strdup' but report error if no memory available. */
+
+char *
+xstrdup (s)
+ register char *s;
+{
+ register char *result = (char *) malloc (strlen (s) + 1);
+
+ if (! result)
+ fatal ("virtual memory exhausted");
+ strcpy (result, s);
+ return result;
+}
/* Return the logarithm of X, base 2, considering X unsigned,
if X is a power of 2. Otherwise, returns -1.