X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/cdbf596449397dbb1f6f2c95f830acfc80c49d96..657d4c0be3b677dda02f7d7e895ddb259b5de82b:/lib-src/sorted-doc.c diff --git a/lib-src/sorted-doc.c b/lib-src/sorted-doc.c index cc09583499..ce58529193 100644 --- a/lib-src/sorted-doc.c +++ b/lib-src/sorted-doc.c @@ -1,34 +1,42 @@ -/* Give this program DOCSTR.mm.nn as standard input and it outputs to +/* 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. - This file is part of GNU Emacs. +Copyright (C) 1989, 1992, 1994, 1996, 1999, 2000, 2001, 2002, 2003, + 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. - 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) - any later version. +This file is part of GNU Emacs. - GNU Emacs is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. +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 3 of the License, or +(at your option) any later version. - 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. +GNU Emacs is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. - This version sorts the output by function name. */ +You should have received a copy of the GNU General Public License +along with GNU Emacs. If not, see . */ + + +/* This version sorts the output by function name. */ + +#ifdef HAVE_CONFIG_H +#include +#endif -#include "config.h" #include #include +#ifdef DOS_NT +#include /* for O_BINARY */ +#include /* for setmode */ +#endif #ifndef HAVE_STDLIB_H /* config.h includes stdlib. */ +#ifndef WINDOWSNT /* src/s/ms-w32.h includes stdlib.h */ extern char *malloc (); #endif +#endif #define NUL '\0' #define MARKER '\037' @@ -72,7 +80,7 @@ fatal (s1, s2) char *s1, *s2; { error (s1, s2); - exit (1); + exit (EXIT_FAILURE); } /* Like malloc but get fatal error if memory is exhausted. */ @@ -118,7 +126,7 @@ char *states[] = { "WAITING", "BEG_NAME", "NAME_GET", "BEG_DESC", "DESC_GET" }; - + int main () { @@ -128,9 +136,17 @@ main () 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 */ - + +#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 */ @@ -178,7 +194,7 @@ main () bp = buf; state = DESC_GET; } - + /* process gets */ if (state == NAME_GET || state == DESC_GET) @@ -276,5 +292,10 @@ main () 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 */