home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume2 / basic / part2 / newbs / bslash.c < prev    next >
Encoding:
Text File  |  1986-11-30  |  567 b   |  30 lines

  1. /* bslash() -- have seen '\', use input() to say what is actually wanted.
  2.  */
  3. char bslash()
  4. {
  5.     char text[8];
  6.     register char *s,c;
  7.     int v;
  8.  
  9.     c=input();
  10.     if(c == 'n') c='\n';
  11.     else if(c == 't') c='\t';
  12.     else if(c == 'b') c='\b';
  13.     else if(c == 'r') c='\r';
  14.     else if(c == 'f') c='\f';
  15.     else if(c>='0' && c<='7') { /* octal digit string */
  16.     s = &text[0];
  17.     *s++ = c;
  18.     c=input();
  19.     while(c>='0' && c<='7') {
  20.         *s++ = c;
  21.         c=input();
  22.     }
  23.     *s++ = '\0';
  24.     sscanf(text,"%o",&v);
  25.     c = (char) v;
  26.     }
  27.     else if(c=='\n') rdlin(bsin);
  28.     return(c);
  29. }
  30.