Annotation of coherent/b/lib/libc/stdio/gets.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * libc/stdio/gets.c
        !             3:  * ANSI-compliant C standard i/o library.
        !             4:  * gets()
        !             5:  * ANSI 4.9.7.7.
        !             6:  * Read string from stdin.
        !             7:  * Do not retain newline.
        !             8:  */
        !             9: 
        !            10: #include <stdio.h>
        !            11: 
        !            12: char *
        !            13: gets(s) char *s;
        !            14: {
        !            15:        register c;
        !            16:        register char *cp;
        !            17: 
        !            18:        cp = s;
        !            19:        while ((c = getchar()) != EOF && c != '\n')
        !            20:                *cp++ = c;
        !            21:        if (c == EOF && (s == cp || ferror(stdin)))
        !            22:                return NULL;            /* ANSI says leave *s unchanged */
        !            23:        *cp = '\0';                     /* else NUL-terminate */
        !            24:        return s;
        !            25: }
        !            26: 
        !            27: /* end of libc/stdio/gets.c */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.