]> code.delx.au - gnu-emacs/blobdiff - lib-src/ebrowse.c
Move config.h before other includes (which may use feature tests).
[gnu-emacs] / lib-src / ebrowse.c
index 4e344a8bc118c48152b1e6181f1063f82506605c..0099641d2f50aa4c404827ae2457e21724f63307 100644 (file)
    along with GNU Emacs; see the file COPYING.  If not, write to
    the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <assert.h>
 #include "getopt.h"
 
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
 /* Conditionalize function prototypes.  */
 
 #ifdef PROTOTYPES              /* From config.h.  */
 
 /* The character used as a separator in path lists (like $PATH).  */
 
-#if defined(__MSDOS__) || defined(WINDOWSNT)
+#if defined(__MSDOS__)
 #define PATH_LIST_SEPARATOR ';'
 #define FILENAME_EQ(X,Y)    (strcasecmp(X,Y) == 0)
 #else
+#if defined(WINDOWSNT)
+#define PATH_LIST_SEPARATOR ';'
+#define FILENAME_EQ(X,Y)    (stricmp(X,Y) == 0)
+#else
 #define PATH_LIST_SEPARATOR ':'
 #define FILENAME_EQ(X,Y)    (streq(X,Y))
 #endif
-
+#endif
 /* The default output file name.  */
 
-#define DEFAULT_OUTFILE "EBROWSE"
+#define DEFAULT_OUTFILE "BROWSE"
 
 /* A version string written to the output file.  Change this whenever
    the structure of the output file changes.  */
@@ -472,7 +476,7 @@ void add_member_defn P_ ((struct sym *, char *, char *,
 void add_member_decl P_ ((struct sym *, char *, char *, int,
                          unsigned, int, int, int, int));
 void dump_roots P_ ((FILE *));
-void *xmalloc P_ ((int));
+void *ymalloc P_ ((int));
 void add_global_defn P_ ((char *, char *, int, unsigned, int, int, int));
 void add_global_decl P_ ((char *, char *, int, unsigned, int, int, int));
 void add_define P_ ((char *, char *, int));
@@ -533,10 +537,12 @@ yyerror (format, a1, a2, a3, a4, a5)
 
 
 /* Like malloc but print an error and exit if not enough memory is
-   available.  */
+   available.  This isn't called `xmalloc' because src/m/alpha.h,
+   and maybe others, contain an incompatible prototype for xmalloc
+   and xrealloc.  */
 
 void *
-xmalloc (nbytes)
+ymalloc (nbytes)
      int nbytes;
 {
   void *p = malloc (nbytes);
@@ -552,7 +558,7 @@ xmalloc (nbytes)
 /* Like realloc but print an error and exit if out of memory.  */
 
 void *
-xrealloc (p, sz)
+yrealloc (p, sz)
      void *p;
      int sz;
 {
@@ -574,7 +580,7 @@ xstrdup (s)
      char *s;
 {
   if (s)
-    s = strcpy (xmalloc (strlen (s) + 1), s);
+    s = strcpy (ymalloc (strlen (s) + 1), s);
   return s;
 }
 
@@ -627,7 +633,7 @@ add_sym (name, nested_in_class)
          puts (name);
        }
 
-      sym = (struct sym *) xmalloc (sizeof *sym + strlen (name));
+      sym = (struct sym *) ymalloc (sizeof *sym + strlen (name));
       bzero (sym, sizeof *sym);
       strcpy (sym->name, name);
       sym->namesp = scope;
@@ -656,8 +662,8 @@ add_link (super, sub)
   /* Avoid duplicates.  */
   if (p == NULL || p->sym != sub)
     {
-      lnk = (struct link *) xmalloc (sizeof *lnk);
-      lnk2 = (struct link *) xmalloc (sizeof *lnk2);
+      lnk = (struct link *) ymalloc (sizeof *lnk);
+      lnk2 = (struct link *) ymalloc (sizeof *lnk2);
   
       lnk->sym = sub;
       lnk->next = p;
@@ -953,7 +959,7 @@ add_member (cls, name, var, sc, hash)
      int sc;
      unsigned hash;
 {
-  struct member *m = (struct member *) xmalloc (sizeof *m + strlen (name));
+  struct member *m = (struct member *) ymalloc (sizeof *m + strlen (name));
   struct member **list;
   struct member *p;
   struct member *prev;
@@ -1065,7 +1071,7 @@ struct sym *
 make_namespace (name)
      char *name;
 {
-  struct sym *s = (struct sym *) xmalloc (sizeof *s + strlen (name));
+  struct sym *s = (struct sym *) ymalloc (sizeof *s + strlen (name));
   bzero (s, sizeof *s);
   strcpy (s->name, name);
   s->next = all_namespaces;
@@ -1120,7 +1126,7 @@ register_namespace_alias (new_name, old_name)
     if (streq (new_name, p->name))
       return;
 
-  al = (struct alias *) xmalloc (sizeof *al + strlen (new_name));
+  al = (struct alias *) ymalloc (sizeof *al + strlen (new_name));
   strcpy (al->name, new_name);
   al->next = p->namesp_aliases;
   p->namesp_aliases = al;
@@ -1138,7 +1144,7 @@ enter_namespace (name)
   if (namespace_sp == namespace_stack_size)
     {
       int size = max (10, 2 * namespace_stack_size);
-      namespace_stack = (struct sym **) xrealloc (namespace_stack, size);
+      namespace_stack = (struct sym **) yrealloc (namespace_stack, size);
       namespace_stack_size = size;
     }
   
@@ -1198,7 +1204,7 @@ ensure_scope_buffer_room (len)
   if (scope_buffer_len + len >= scope_buffer_size)
     {
       int new_size = max (2 * scope_buffer_size, scope_buffer_len + len);
-      scope_buffer = (char *) xrealloc (new_size);
+      scope_buffer = (char *) yrealloc (new_size);
       scope_buffer_size = new_size;
     }
 }
@@ -1250,7 +1256,7 @@ sym_scope (p)
   if (!scope_buffer)
     {
       scope_buffer_size = 1024;
-      scope_buffer = (char *) xmalloc (scope_buffer_size);
+      scope_buffer = (char *) ymalloc (scope_buffer_size);
     }
   
   *scope_buffer = '\0';
@@ -1667,7 +1673,7 @@ yylex ()
                if (p == yytext_end - 1)
                  {
                    int size = yytext_end - yytext;
-                   yytext = (char *) xrealloc (yytext, 2 * size);
+                   yytext = (char *) yrealloc (yytext, 2 * size);
                    yytext_end = yytext + 2 * size;
                    p = yytext + size - 1;
                  }
@@ -1945,7 +1951,7 @@ matching_regexp ()
 
   if (buffer == NULL)
     {
-      buffer = (char *) xmalloc (max_regexp);
+      buffer = (char *) ymalloc (max_regexp);
       end_buf = &buffer[max_regexp] - 1;
     }
 
@@ -2090,7 +2096,7 @@ re_init_scanner ()
   if (yytext == NULL)
     {
       int size = 256;
-      yytext = (char *) xmalloc (size * sizeof *yytext);
+      yytext = (char *) ymalloc (size * sizeof *yytext);
       yytext_end = yytext + size;
     }
 }
@@ -2106,7 +2112,7 @@ insert_keyword (name, tk)
 {
   char *s;
   unsigned h = 0;
-  struct kw *k = (struct kw *) xmalloc (sizeof *k);
+  struct kw *k = (struct kw *) ymalloc (sizeof *k);
 
   for (s = name; *s; ++s)
     h = (h << 1) ^ *s;
@@ -2129,7 +2135,7 @@ init_scanner ()
 
   /* Allocate the input buffer */
   inbuffer_size = READ_CHUNK_SIZE + 1;
-  inbuffer = in = (char *) xmalloc (inbuffer_size);
+  inbuffer = in = (char *) ymalloc (inbuffer_size);
   yyline = 1;
 
   /* Set up character class vectors.  */
@@ -2784,7 +2790,7 @@ operator_name (sc)
       if (len > id_size)
        {
          int new_size = max (len, 2 * id_size);
-         id = (char *) xrealloc (id, new_size);
+         id = (char *) yrealloc (id, new_size);
          id_size = new_size;
        }
       strcpy (id, s);
@@ -2810,7 +2816,7 @@ operator_name (sc)
       if (len > id_size)
        {
          int new_size = max (len, 2 * id_size);
-         id = (char *) xrealloc (id, new_size);
+         id = (char *) yrealloc (id, new_size);
          id_size = new_size;
        }
       strcpy (id, "operator");
@@ -2826,7 +2832,7 @@ operator_name (sc)
          if (len > id_size)
            {
              int new_size = max (len, 2 * id_size);
-             id = (char *) xrealloc (id, new_size);
+             id = (char *) yrealloc (id, new_size);
              id_size = new_size;
            }
 
@@ -2864,7 +2870,7 @@ parse_qualified_ident_or_type (last_id)
       int len = strlen (yytext) + 1;
       if (len > id_size)
        {
-         id = (char *) xrealloc (id, len);
+         id = (char *) yrealloc (id, len);
          id_size = len;
        }
       strcpy (id, yytext);
@@ -2904,7 +2910,7 @@ parse_qualified_param_ident_or_type (last_id)
       int len = strlen (yytext) + 1;
       if (len > id_size)
        {
-         id = (char *) xrealloc (id, len);
+         id = (char *) yrealloc (id, len);
          id_size = len;
        }
       strcpy (id, yytext);
@@ -3350,8 +3356,8 @@ add_search_path (path_list)
       while (*path_list && *path_list != PATH_LIST_SEPARATOR)
         ++path_list;
       
-      p = (struct search_path *) xmalloc (sizeof *p);
-      p->path = (char *) xmalloc (path_list - start + 1);
+      p = (struct search_path *) ymalloc (sizeof *p);
+      p->path = (char *) ymalloc (path_list - start + 1);
       memcpy (p->path, start, path_list - start);
       p->path[path_list - start] = '\0';
       p->next = NULL;
@@ -3393,7 +3399,7 @@ open_file (file)
       if (len + 1 >= buffer_size)
        {
          buffer_size = max (len + 1, 2 * buffer_size);
-         buffer = (char *) xrealloc (buffer, buffer_size);
+         buffer = (char *) yrealloc (buffer, buffer_size);
        }
        
       strcpy (buffer, path->path);
@@ -3488,7 +3494,7 @@ process_file (file)
          if (nread + READ_CHUNK_SIZE >= inbuffer_size)
            {
              inbuffer_size = nread + READ_CHUNK_SIZE + 1;
-             inbuffer = (char *) xrealloc (inbuffer, inbuffer_size);
+             inbuffer = (char *) yrealloc (inbuffer, inbuffer_size);
            }
          
          nbytes = fread (inbuffer + nread, 1, READ_CHUNK_SIZE, fp);
@@ -3528,7 +3534,7 @@ read_line (fp)
       if (i >= buffer_size)
        {
          buffer_size = max (100, buffer_size * 2);
-         buffer = (char *) xrealloc (buffer, buffer_size);
+         buffer = (char *) yrealloc (buffer, buffer_size);
        }
 
       buffer[i++] = c;
@@ -3540,7 +3546,7 @@ read_line (fp)
   if (i == buffer_size)
     {
       buffer_size = max (100, buffer_size * 2);
-      buffer = (char *) xrealloc (buffer, buffer_size);
+      buffer = (char *) yrealloc (buffer, buffer_size);
     }
 
   buffer[i] = '\0';
@@ -3588,7 +3594,7 @@ main (argc, argv)
          if (n_input_files == input_filenames_size)
            {
              input_filenames_size = max (10, 2 * input_filenames_size);
-             input_filenames = (char **) xrealloc (input_filenames,
+             input_filenames = (char **) yrealloc (input_filenames,
                                                    input_filenames_size);
            }
           input_filenames[n_input_files++] = xstrdup (optarg);