(socket_connection): Remove AI_ADDRCONFIG.
[bpt/emacs.git] / lib-src / sorted-doc.c
index 05a3e69..e239eaa 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 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.  */
@@ -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 */
@@ -279,8 +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) */
 }
 
 /* arch-tag: ce28f204-1e70-4b34-8210-3d54a5662071
    (do not change this comment) */
+
+/* sorted-doc.c ends here */