summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/ld/etc.c
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/ld/etc.c')
-rw-r--r--gnu/usr.bin/ld/etc.c153
1 files changed, 34 insertions, 119 deletions
diff --git a/gnu/usr.bin/ld/etc.c b/gnu/usr.bin/ld/etc.c
index 27e2c5661895..b33db7618eda 100644
--- a/gnu/usr.bin/ld/etc.c
+++ b/gnu/usr.bin/ld/etc.c
@@ -1,151 +1,66 @@
/*
- * $Id: etc.c,v 1.7 1994/02/13 20:41:05 jkh Exp $
+ * $Id: etc.c,v 1.8 1994/06/15 22:39:32 rich Exp $
*/
-#include <sys/param.h>
-#include <stdio.h>
+#include <err.h>
#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/file.h>
-#include <sys/time.h>
-#include <fcntl.h>
-#include <ar.h>
-#include <ranlib.h>
-#include <a.out.h>
-#include <stab.h>
#include <string.h>
-#if __STDC__
-#include <stdarg.h>
-#else
-#include <varargs.h>
-#endif
-
-#include "ld.h"
/*
- * Report a nonfatal error.
+ * Like malloc but get fatal error if memory is exhausted.
*/
-
-void
-#if __STDC__
-error(char *fmt, ...)
-#else
-error(fmt, va_alist)
- char *fmt;
- va_dcl
-#endif
+void *
+xmalloc(size)
+ size_t size;
{
- va_list ap;
-#if __STDC__
- va_start(ap, fmt);
-#else
- va_start(ap);
-#endif
- (void)fprintf(stderr, "%s: ", progname);
- (void)vfprintf(stderr, fmt, ap);
- (void)fprintf(stderr, "\n");
- va_end(ap);
+ register void *result = (void *)malloc(size);
+
+ if (!result)
+ errx(1, "virtual memory exhausted");
+
+ return result;
}
-void (*fatal_cleanup_hook)__P((void));
/*
- * Report a fatal error.
+ * Like realloc but get fatal error if memory is exhausted.
*/
-
-void
-#if __STDC__
-fatal(char *fmt, ...)
-#else
-fatal(fmt, va_alist)
- char *fmt;
- va_dcl
-#endif
+void *
+xrealloc(ptr, size)
+ void *ptr;
+ size_t size;
{
- va_list ap;
-#if __STDC__
- va_start(ap, fmt);
-#else
- va_start(ap);
-#endif
- (void)fprintf(stderr, "%s: ", progname);
- (void)vfprintf(stderr, fmt, ap);
- (void)fprintf(stderr, "\n");
- va_end(ap);
+ register void *result;
- if (fatal_cleanup_hook)
- (*fatal_cleanup_hook)();
- exit(1);
-}
+ if (ptr == NULL)
+ result = (void *)malloc(size);
+ else
+ result = (void *)realloc(ptr, size);
+ if (!result)
+ errx(1, "virtual memory exhausted");
+
+ return result;
+}
/*
* Return a newly-allocated string whose contents concatenate
* the strings S1, S2, S3.
*/
-
char *
concat(s1, s2, s3)
const char *s1, *s2, *s3;
{
- register int len1 = strlen (s1),
- len2 = strlen (s2),
- len3 = strlen (s3);
+ register int len1 = strlen(s1),
+ len2 = strlen(s2),
+ len3 = strlen(s3);
- register char *result = (char *) xmalloc (len1 + len2 + len3 + 1);
+ register char *result = (char *)xmalloc(len1 + len2 + len3 + 1);
- strcpy (result, s1);
- strcpy (result + len1, s2);
- strcpy (result + len1 + len2, s3);
+ strcpy(result, s1);
+ strcpy(result + len1, s2);
+ strcpy(result + len1 + len2, s3);
result[len1 + len2 + len3] = 0;
return result;
}
-/* Parse the string ARG using scanf format FORMAT, and return the result.
- If it does not parse, report fatal error
- generating the error message using format string ERROR and ARG as arg. */
-
-int
-parse(arg, format, error)
- char *arg, *format, *error;
-{
- int x;
- if (1 != sscanf (arg, format, &x))
- fatal (error, arg);
- return x;
-}
-
-/* Like malloc but get fatal error if memory is exhausted. */
-
-void *
-xmalloc(size)
- int size;
-{
- register void *result = (void *)malloc (size);
-
- if (!result)
- fatal ("virtual memory exhausted", 0);
-
- return result;
-}
-
-/* Like realloc but get fatal error if memory is exhausted. */
-
-void *
-xrealloc(ptr, size)
- void *ptr;
- int size;
-{
- register void *result;
-
- if (ptr == NULL)
- result = (void *)malloc (size);
- else
- result = (void *)realloc (ptr, size);
-
- if (!result)
- fatal ("virtual memory exhausted", 0);
-
- return result;
-}