X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/364c38d3af67e2b56a90a6547ec9f773967bf1df..dc3eeeb48af706de824b7b8bae62dc868d26637e:/lib-src/sorted-doc.c diff --git a/lib-src/sorted-doc.c b/lib-src/sorted-doc.c index 120a510f00..a8b2d441f9 100644 --- a/lib-src/sorted-doc.c +++ b/lib-src/sorted-doc.c @@ -1,8 +1,8 @@ /* 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 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -29,9 +29,15 @@ #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' @@ -131,9 +137,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 */