home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l200 / 6.ddi / LIB / INPUTS.C < prev    next >
Encoding:
C/C++ Source or Header  |  1986-08-21  |  773 b   |  41 lines

  1. /*    INPUT_(ss, n, filenum) -- reads n bytes from filenum into a string
  2.  
  3.     Copyright (c) 1983, 1984  by  JMI Software Consultants, Inc.
  4. */
  5. #include "bio.h"
  6. #include "host.h"
  7.  
  8. TEXT *INPUT_(ss, n, filenum)
  9.     TEXT **ss;
  10.     COUNT n, filenum;
  11.     {
  12.     IMPORT BF **bfiles;
  13.     IMPORT INT rr_input, strlpfx;
  14.     EXFUNC TEXT *s_new();
  15.     IMPORT TEXT brd_get();
  16.     IMPORT COUNT brd_slot;
  17.     TEXT *s;
  18.     BF *b;
  19.  
  20.     if (n < 0)
  21.         {
  22.         xerror(12, "INPUT_");
  23.         return (NULLSTR);
  24.         }
  25.     *ss = s_new(*ss, n);
  26.     s = *ss + strlpfx;
  27.     if (filenum == -1)
  28.         rawread(sf_IN, s, n, rr_input);
  29.     else
  30.         {
  31.         brd_slot = fset(filenum);
  32.         b = bfiles[brd_slot];
  33.         if (b->bf_flags & bf_KYBD)
  34.             rawread(b->bf_fd, s, n, rr_input);
  35.         else
  36.             while (n--)
  37.                 *s++ = brd_get();
  38.         }
  39.     return (*ss);
  40.     }
  41.