|
|
1.1 root 1: /*-
2: * Copyright (c) 1979 The Regents of the University of California.
3: * All rights reserved.
4: *
5: * Redistribution and use in source and binary forms are permitted
6: * provided that: (1) source distributions retain this entire copyright
7: * notice and comment, and (2) distributions including binaries display
8: * the following acknowledgement: ``This product includes software
9: * developed by the University of California, Berkeley and its contributors''
10: * in the documentation or other materials provided with the distribution
11: * and in all advertising materials mentioning features or use of this
12: * software. Neither the name of the University nor the names of its
13: * contributors may be used to endorse or promote products derived
14: * from this software without specific prior written permission.
15: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
16: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
17: * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
18: */
19:
20: #ifndef lint
21: static char sccsid[] = "@(#)UNSYNC.c 1.5 (Berkeley) 4/9/90";
22: #endif /* not lint */
23:
24: #include "h00vars.h"
25:
26: /*
27: * push back last char read to prepare for formatted read
28: */
29: UNSYNC(curfile)
30:
31: register struct iorec *curfile;
32: {
33: if (curfile->funit & FWRITE) {
34: ERROR("%s: Attempt to read, but open for writing\n",
35: curfile->pfname);
36: return;
37: }
38: if (curfile->funit & EOFF) {
39: ERROR("%s: Tried to read past end of file\n", curfile->pfname);
40: return;
41: }
42: if ((curfile->funit & SYNC) == 0) {
43: ungetc(*curfile->fileptr, curfile->fbuf);
44: }
45: curfile->funit &= ~EOLN;
46: curfile->funit |= SYNC;
47: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.