Revamp of the Halibut error handling mechanism.
[sgt/halibut] / malloc.c
index 1635b47..af8bcf4 100644 (file)
--- a/malloc.c
+++ b/malloc.c
@@ -47,7 +47,7 @@ void *(smalloc)(LOGPARAMS int size) {
              file, line, (long)size));
     p = malloc(size);
     if (!p)
-       fatal(err_nomemory);
+       fatalerr_nomemory();
     LOGPRINT((" returns %p\n", p));
     return p;
 }
@@ -83,7 +83,7 @@ void *(srealloc)(LOGPARAMS void *p, int size) {
        LOGPRINT((" returns %p\n", q));
     }
     if (!q)
-       fatal(err_nomemory);
+       fatalerr_nomemory();
     return q;
 }
 
@@ -91,7 +91,7 @@ void *(srealloc)(LOGPARAMS void *p, int size) {
  * dupstr is like strdup, but with the never-return-NULL property
  * of smalloc (and also reliably defined in all environments :-)
  */
-char *dupstr(char *s) {
+char *dupstr(char const *s) {
     char *r = smalloc(1+strlen(s));
     strcpy(r,s);
     return r;
@@ -101,10 +101,10 @@ char *dupstr(char *s) {
  * Duplicate a linked list of words
  */
 word *dup_word_list(word *w) {
-    word *head, **eptr = &head;
+    word *head = NULL, **eptr = &head;
 
     while (w) {
-       word *newwd = mknew(word);
+       word *newwd = snew(word);
        *newwd = *w;                   /* structure copy */
        newwd->text = ustrdup(w->text);
        if (w->alt)