avoid recursive `require' when loading semantic
[bpt/emacs.git] / src / termcap.c
index be05828..702d30b 100644 (file)
@@ -1,5 +1,5 @@
 /* Work-alike for termcap, plus extra features.
-   Copyright (C) 1985-1986, 1993-1995, 2000-2008, 2011, 2013 Free
+   Copyright (C) 1985-1986, 1993-1995, 2000-2008, 2011, 2013-2014 Free
    Software Foundation, Inc.
 
 This program is free software; you can redistribute it and/or modify
@@ -150,7 +150,7 @@ tgetst1 (char *ptr, char **area)
       p = ptr;
       while ((c = *p++) && c != ':' && c != '\n')
        ;
-      ret = xmalloc (p - ptr + 1);
+      ret = xmalloc_atomic (p - ptr + 1);
     }
   else
     ret = *area;
@@ -374,7 +374,7 @@ tgetent (char *bp, const char *name)
       if (!bp)
        {
          malloc_size = 1 + strlen (term);
-         bp = xmalloc (malloc_size);
+         bp = xmalloc_atomic (malloc_size);
        }
       strcpy (bp, term);
       goto ret;
@@ -393,7 +393,7 @@ tgetent (char *bp, const char *name)
   if (termcap_name && (*termcap_name == '\\'
                       || *termcap_name == '/'
                       || termcap_name[1] == ':'))
-    dostounix_filename (termcap_name, 0);
+    dostounix_filename (termcap_name);
 #endif
 
   filep = termcap_name && valid_filename_p (termcap_name);
@@ -406,7 +406,7 @@ tgetent (char *bp, const char *name)
 
   if (termcap_name && !filep && !strcmp (name, getenv ("TERM")))
     {
-      indirect = tgetst1 (find_capability (termcap_name, "tc"), (char **) 0);
+      indirect = tgetst1 (find_capability (termcap_name, "tc"), 0);
       if (!indirect)
        {
          if (!bp)
@@ -433,13 +433,13 @@ tgetent (char *bp, const char *name)
 
   buf.size = BUFSIZE;
   /* Add 1 to size to ensure room for terminating null.  */
-  buf.beg = xmalloc (buf.size + 1);
+  buf.beg = xmalloc_atomic (buf.size + 1);
   term = indirect ? indirect : (char *)name;
 
   if (!bp)
     {
       malloc_size = indirect ? strlen (tcenv) + 1 : buf.size;
-      bp = xmalloc (malloc_size);
+      bp = xmalloc_atomic (malloc_size);
     }
   tc_search_point = bp1 = bp;
 
@@ -490,7 +490,7 @@ tgetent (char *bp, const char *name)
       /* Does this entry refer to another terminal type's entry?
         If something is found, copy it into heap and null-terminate it.  */
       tc_search_point = find_capability (tc_search_point, "tc");
-      term = tgetst1 (tc_search_point, (char **) 0);
+      term = tgetst1 (tc_search_point, 0);
     }
 
   emacs_close (fd);