summaryrefslogtreecommitdiff
path: root/usr/src/lib/libc/port/stdio/doscan.c
diff options
context:
space:
mode:
authorRobert Mustacchi <rm@fingolfin.org>2020-03-02 05:43:45 +0000
committerRobert Mustacchi <rm@fingolfin.org>2020-03-26 07:42:53 +0000
commitcd62a92d4a964bfe61d35ba2301b69e65e22a509 (patch)
tree8e346d9037f7c654ffe58ed0d5e27f34025dd672 /usr/src/lib/libc/port/stdio/doscan.c
parent1470234269f4edea4cbf270cb2475e4988b788d5 (diff)
downloadillumos-joyent-cd62a92d4a964bfe61d35ba2301b69e65e22a509.tar.gz
7092 Want support for stdio memory streams
12360 fwrite can loop forever on zero byte write 12392 ftello64 doesn't handle ungetc() correctly when unbuffered Reviewed by: John Levon <john.levon@joyent.com> Reviewed by: Yuri Pankov <ypankov@fastmail.com> Approved by: Dan McDonald <danmcd@joyent.com>
Diffstat (limited to 'usr/src/lib/libc/port/stdio/doscan.c')
-rw-r--r--usr/src/lib/libc/port/stdio/doscan.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/usr/src/lib/libc/port/stdio/doscan.c b/usr/src/lib/libc/port/stdio/doscan.c
index e375d9824f..fda4d5c2ea 100644
--- a/usr/src/lib/libc/port/stdio/doscan.c
+++ b/usr/src/lib/libc/port/stdio/doscan.c
@@ -25,9 +25,7 @@
*/
/* Copyright (c) 1988 AT&T */
-/* All Rights Reserved */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
+/* All Rights Reserved */
#include "lint.h"
#include <sys/types.h>
@@ -402,7 +400,7 @@ charswitch: /* target of a goto 8-( */
if (size == 'l') {
int c, len, i;
int negflg = 0;
- unsigned char *p;
+ unsigned char *p;
p = (unsigned char *)(fmt - 1);
len = 0;
@@ -830,10 +828,10 @@ readchar(FILE *iop, int *chcount)
int inchar;
char buf[1];
- if ((iop->_flag & _IOWRT) || (iop->_cnt != 0))
+ if ((iop->_flag & _IOWRT) || (iop->_cnt != 0)) {
inchar = locgetc((*chcount));
- else {
- if (read(FILENO(iop), buf, 1) != 1)
+ } else {
+ if (_xread(iop, buf, 1) != 1)
return (EOF);
inchar = (int)buf[0];
(*chcount) += 1;