]> code.delx.au - gnu-emacs/blobdiff - lib-src/sorted-doc.c
*** empty log message ***
[gnu-emacs] / lib-src / sorted-doc.c
index d474924cf18fd298017323949f5bc7c7ceaa36e4..33959aefefe6118a4b2ab0c2933b5973b3127858 100644 (file)
@@ -1,14 +1,14 @@
 /* Give this program DOC-mm.nn.oo as standard input and it outputs to
    standard output a file of texinfo input containing the doc strings.
 /* Give this program DOC-mm.nn.oo as standard input and it outputs to
    standard output a file of texinfo input containing the doc strings.
-   
-   Copyright (C) 1989, 1992, 1994, 1996, 1999, 2000, 2001
-      Free Software Foundation Inc.
+
+   Copyright (C) 1989, 1992, 1994, 1996, 1999, 2000, 2001, 2002, 2003,
+                 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
    This file is part of GNU Emacs.
 
    GNU Emacs is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
    This file is part of GNU Emacs.
 
    GNU Emacs is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
+   the Free Software Foundation; either version 3, or (at your option)
    any later version.
 
    GNU Emacs is distributed in the hope that it will be useful,
    any later version.
 
    GNU Emacs is distributed in the hope that it will be useful,
@@ -18,8 +18,8 @@
 
    You should have received a copy of the GNU General Public License
    along with GNU Emacs; see the file COPYING.  If not, write to the
 
    You should have received a copy of the GNU General Public License
    along with GNU Emacs; see the file COPYING.  If not, write to the
-   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.
+   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.
 
    This version sorts the output by function name.  */
 
 
    This version sorts the output by function name.  */
 
 
 #include <stdio.h>
 #include <ctype.h>
 
 #include <stdio.h>
 #include <ctype.h>
+#ifdef DOS_NT
+#include <fcntl.h>             /* for O_BINARY */
+#include <io.h>                        /* for setmode */
+#endif
 #ifndef HAVE_STDLIB_H          /* config.h includes stdlib.  */
 #ifndef HAVE_STDLIB_H          /* config.h includes stdlib.  */
+#ifndef WINDOWSNT              /* src/s/ms-w32.h includes stdlib.h */
 extern char *malloc ();
 #endif
 extern char *malloc ();
 #endif
+#endif
 
 #define NUL    '\0'
 #define MARKER '\037'
 
 #define NUL    '\0'
 #define MARKER '\037'
@@ -75,7 +81,7 @@ fatal (s1, s2)
      char *s1, *s2;
 {
   error (s1, s2);
      char *s1, *s2;
 {
   error (s1, s2);
-  exit (1);
+  exit (EXIT_FAILURE);
 }
 
 /* Like malloc but get fatal error if memory is exhausted.  */
 }
 
 /* Like malloc but get fatal error if memory is exhausted.  */
@@ -121,7 +127,7 @@ char *states[] =
 {
   "WAITING", "BEG_NAME", "NAME_GET", "BEG_DESC", "DESC_GET"
 };
 {
   "WAITING", "BEG_NAME", "NAME_GET", "BEG_DESC", "DESC_GET"
 };
-    
+
 int
 main ()
 {
 int
 main ()
 {
@@ -131,9 +137,17 @@ main ()
   register enum state state = WAITING; /* state at start */
   int cnt = 0;                 /* number of DOCSTRs read */
 
   register enum state state = WAITING; /* state at start */
   int cnt = 0;                 /* number of DOCSTRs read */
 
-  DOCSTR *docs;                        /* chain of allocated DOCSTRS */
+  DOCSTR *docs = NULL;          /* chain of allocated DOCSTRS */
   char buf[512];               /* line buffer */
   char buf[512];               /* line buffer */
-    
+
+#ifdef DOS_NT
+  /* DOC is a binary file.  */
+  if (!isatty (fileno (stdin)))
+    setmode (fileno (stdin), O_BINARY);
+#endif
+
+  bp = buf;
+
   while (1)                    /* process one char at a time */
     {
       /* this char from the DOCSTR file */
   while (1)                    /* process one char at a time */
     {
       /* this char from the DOCSTR file */
@@ -181,7 +195,7 @@ main ()
          bp = buf;
          state = DESC_GET;
        }
          bp = buf;
          state = DESC_GET;
        }
-       
+
       /* process gets */
 
       if (state == NAME_GET || state == DESC_GET)
       /* process gets */
 
       if (state == NAME_GET || state == DESC_GET)
@@ -279,5 +293,10 @@ main ()
     printf ("@bye\n");
   }
 
     printf ("@bye\n");
   }
 
-  return 0;
+  return EXIT_SUCCESS;
 }
 }
+
+/* arch-tag: ce28f204-1e70-4b34-8210-3d54a5662071
+   (do not change this comment) */
+
+/* sorted-doc.c ends here */