source: trunk/libs/newlib/src/libgloss/rs6000/mvme-read.c @ 656

Last change on this file since 656 was 444, checked in by satin@…, 6 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 1.3 KB
RevLine 
[444]1/* mvme-read.c -- read bytes from a input device.
2 *
3 * Copyright (c) 1996 Cygnus Support
4 *
5 * The authors hereby grant permission to use, copy, modify, distribute,
6 * and license this software and its documentation for any purpose, provided
7 * that existing copyright notices are retained in all copies and that this
8 * notice is included verbatim in any distributions. No written agreement,
9 * license, or royalty fee is required for any of the authorized uses.
10 * Modifications to this software may be copyrighted by their authors
11 * and need not follow the licensing terms described here, provided that
12 * the new terms are clearly indicated on the first page of each file where
13 * they apply.
14 */
15
16extern int inbyte ();
17extern char * __inln ();
18
19/*
20 * read  -- read bytes from the serial port. Ignore fd, since
21 *          we only have stdin.
22 */
23int
24read (fd, buf, nbytes)
25     int fd;
26     char *buf;
27     int nbytes;
28{
29  if (nbytes >= 256)
30    {
31      char *read_end = __inln (buf);
32      *read_end = '\n';
33      return read_end - buf + 1;
34    }
35  else
36    {
37      int i, c;
38      for (i = 0; i < nbytes; i++) {
39        *buf++ = c = inbyte ();
40        if (c == '\n' || c == '\r') {
41          buf[-1] = '\n';       /* convert \r to \n */
42          buf[0] = '\0';
43          break;
44        }
45      }
46
47      return i;
48    }
49}
Note: See TracBrowser for help on using the repository browser.