[mod.std.c] mod.std.c Digest V8#12

osd@hou2d.UUCP (Orlando Sotomayor-Diaz) (07/17/85)

From: Orlando Sotomayor-Diaz (The Moderator) <cbosgd!std-c>


mod.std.c Digest            Tue, 16 Jul 85       Volume 8 : Issue  12 

Today's Topics:
                     D.10.1.5 The strtol function
                     D.10.4.5 The system function
D.11.2.2 the memset function, D.11.5.1 memchr, D.11.5.2 strchr,  D.11.5.5 strrchr function
                D.11.4 Length and comparison function
                   D.11 String handling <string.h>
                     D.9.4.2 The rename function
                     D.9.6.1 The fprintf function
       D.9.6.2 The fscanf function & D.9.6.4 The scanf function
                     D.9.7.11 The ungetc function
                      D.9.7.3 The fputc function
       D.9.7.7 The gets function & D.9.8.2 The fwrite function
                 D.9.8 Direct input/output functions
      D.9.9.1 The fseek function & D.9.10.4 The perror function
----------------------------------------------------------------------

Date: Sat, 13 Jul 85 00:21:14 edt
From: hcr!lsuc!msb
Subject: D.10.1.5 The strtol function
To: hcr!cbosgd!std-c

Change "between 2 and 36" (which does not mean inclusive) to "from 2 to 36"
or some such phrase (which does).

------------------------------

Date: Sat, 13 Jul 85 00:21:14 edt
From: hcr!lsuc!msb
Subject: D.10.4.5 The system function
To: hcr!cbosgd!std-c

"If the argument is a null pointer, the system function returns zero to
indicate that there is no command processor."

Say WHAT?

------------------------------

Date: Sat, 13 Jul 85 00:21:14 edt
From: hcr!lsuc!msb
Subject: D.11.2.2 the memset function, D.11.5.1 memchr, D.11.5.2 strchr,  D.11.5.5 strrchr function
To: hcr!cbosgd!std-c

All four of these use an int argument to receive what is really a character.
Memset specifies that the argument is cast to unsigned char; I don't know
why it's not plain char, unless some existing implementation has it that way.
In the case of the other three functions the action if (char)c != c, or
(unsigned char)c != c, or whatever it should be, is unspecified.
It should be specified or explicitly undefined.

------------------------------

Date: Sat, 13 Jul 85 00:21:14 edt
From: hcr!lsuc!msb
Subject: D.11.4 Length and comparison function
To: hcr!cbosgd!std-c

"If one of the characters has its high-order bit set, the result is
implementation-defined."

This contrasts with the language of C.1.2.5, Types, where instead of things
like "high-order bits" we talk about characters "that can" or cannot "be
specified as a single-character character constant without using an octal
or hexadecimal escape sequence".  If this variation is intentional, fine.

		 { decvax | ihnp4 | watmath | ... } !utzoo!lsuc!msb
		    also via { hplabs | amd | ... } !pesnta!lsuc!msb
Mark Brader		and		   uw-beaver!utcsri!lsuc!msb

------------------------------

Date: Sat, 13 Jul 85 00:21:14 edt
From: hcr!lsuc!msb
Subject: D.11 String handling <string.h>
To: hcr!cbosgd!std-c

Why do some functions use a void * argument to access an array of characters?

------------------------------

Date: Sat, 13 Jul 85 00:21:14 edt
From: hcr!lsuc!msb
Subject: D.9.4.2 The rename function
To: hcr!cbosgd!std-c

What happens if the file named new already exists?  If it's implementation-
dependent, say so.

------------------------------

Date: Sat, 13 Jul 85 00:21:14 edt
From: hcr!lsuc!msb
Subject: D.9.6.1 The fprintf function
To: hcr!cbosgd!std-c

* 1.  Conversion specifiers seem complicated enough that it might be worth
declaring them by means of a formal grammar.  For instance, are flag
characters allowed to be repeated, so that "%--d" is legal?  If so,
what does it mean?

* 2.  It would seem reasonable to allow an implementation to limit the
total length of a format string, the total width of a field, etc.

------------------------------

Date: Sat, 13 Jul 85 00:21:14 edt
From: hcr!lsuc!msb
Subject: D.9.6.2 The fscanf function & D.9.6.4 The scanf function
To: hcr!cbosgd!std-c

The last paragraph of each of these is a bit muddy.  The two "or"'s in
the first sentance of the paragraph are not parallel, and it sounds as if
the number of assigned input items can be EOF.  Also, I think the behavior
of the stream's current read position is unspecified when the function
terminates either normally or abnormally.

------------------------------

Date: Sat, 13 Jul 85 00:21:14 edt
From: hcr!lsuc!msb
Subject: D.9.7.11 The ungetc function
To: hcr!cbosgd!std-c

There's "the character specified by c" again, but this time with no
conversion.  Do you mean (char)c again?  If not, what?

------------------------------

Date: Sat, 13 Jul 85 00:21:14 edt
From: hcr!lsuc!msb
Subject: D.9.7.3 The fputc function
To: hcr!cbosgd!std-c

Why "the character specified by c (converted to an unsigned char)"?
Why not a plain char?

------------------------------

Date: Sat, 13 Jul 85 00:21:14 edt
From: hcr!lsuc!msb
Subject: D.9.7.7 The gets function & D.9.8.2 The fwrite function
To: hcr!cbosgd!std-c

Does "indeterminate" mean something different from "undefined"?
If so, elucidate.  If not, say "undefined".

------------------------------

Date: Sat, 13 Jul 85 00:21:14 edt
From: hcr!lsuc!msb
Subject: D.9.8 Direct input/output functions
To: hcr!cbosgd!std-c

Should something be said here about text streams vs binary streams?

------------------------------

Date: Sat, 13 Jul 85 00:21:14 edt
From: hcr!lsuc!msb
Subject: D.9.9.1 The fseek function & D.9.10.4 The perror function
To: hcr!cbosgd!std-c

Both of these descriptions state what the function returns in certain
cases but not in others.

------------------------------

End of mod.std.c Digest - Tue, 16 Jul 85 23:09:01 EDT
******************************
USENET -> posting only through cbosgd!std-c.
ARPA -> ... through cbosgd!std-c@BERKELEY.ARPA (NOT to INFO-C)
In all cases, you may also reply to the author(s) above.