Article View: comp.bugs.misc
Article #81Re: doscan.o bug in Ultrix 1.2 & 2.0
From: guy
Date: Tue, 07 Jul 1987 18:25
Date: Tue, 07 Jul 1987 18:25
32 lines
1849 bytes
1849 bytes
> val = fscanf(file,"%*[ \t\n]%74[abcdefghijklmnopqrstuvwxyz
> ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]", namebuf);
>
> In case your input does not begin with space, tab or newline, scanf will
> return 0 which is not right, since "*" should match "0 or more" .
I presume the "0 or more" comes from the ULTRIX manual; I see nothing like
it in the 4.3BSD manual. The 4.3BSD manual does not indicate one way
or the other whether a zero-length match for a "%[]" item is
considered a successful or failed match. If it is a successful
match, then a zero-length match of the "%74[abc...]" item is also a
successful match.
It sounds like they may be using the S5 version of "doscan", either
for S5 compatibility or because it fixes a number of bugs in the 4.3
version. The SVID says for "%[]" conversions:
...At least one character must match for this conversion to
be considered successful.
and the October 1, 1986 ANSI C draft says:
...If the length of the input item is zero, the execution of
the directive fails: this condition is a matching failure,
unless an error prevented input from the stream, in which
case it is an input failure.
In other words, this behavior is most likely here to stay. The bug
is in the Pascal runtime, not in "scanf".
Guy Harris
{ihnp4, decvax, seismo, decwrl, ...}!sun!guy
guy@sun.com
Technical Details
Message-ID:
<22807@sun.uucp>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!cbosgd!ihnp4!ptsfa!ames!oliveb!sun!gorodish!guyReferences:
<309@nsta.UUCP>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!cbosgd!ihnp4!ptsfa!ames!oliveb!sun!gorodish!guy From: guy@gorodish.UUCP Newsgroups: comp.bugs.misc,comp.bugs.4bsd Subject: Re: doscan.o bug in Ultrix 1.2 & 2.0 Message-ID: <22807@sun.uucp> Date: Tue, 7-Jul-87 14:25:29 EDT Article-I.D.: sun.22807 Posted: Tue Jul 7 14:25:29 1987 Date-Received: Thu, 9-Jul-87 06:28:15 EDT References: <309@nsta.UUCP> Sender: news@sun.uucp Lines: 32