home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / lang / c / 12652 < prev    next >
Encoding:
Internet Message Format  |  1992-08-22  |  1.3 KB

  1. Xref: sparky comp.lang.c:12652 comp.std.c:2490
  2. Path: sparky!uunet!olivea!mintaka.lcs.mit.edu!spdcc!iecc!johnl
  3. From: johnl@iecc.cambridge.ma.us (John R. Levine)
  4. Newsgroups: comp.lang.c,comp.std.c
  5. Subject: Re: strcpy implementation question
  6. Message-ID: <1992Aug22.132132.13813@iecc.cambridge.ma.us>
  7. Date: 22 Aug 92 13:21:32 GMT
  8. References: <PINKAS.92Aug21114508@caraway.intel.com>
  9. Distribution: comp
  10. Organization: I.E.C.C.
  11. Lines: 20
  12.  
  13. >If the sizes of the src and dst are known at compile time (e.g. they are
  14. >both declared in the current file as static or auto arrays), ...
  15. >In order to avoid checking every byte, they
  16. >plan to copy past the terminator ('\0'), and copy a number of bytes equal
  17. >to the smaller of the src or dst.
  18.  
  19. In my copy of the C standard, section 4.1.1 says "a string is a contiguous
  20. sequence of characters terminated by and including the first null
  21. character."  Section 4.11.2.3 says "The strcpy function copies the string
  22. pointed to by s2 (including the terminating null character) into the array
  23. pointed to by s1."
  24.  
  25. But it doesn't say "(including the terminating null character and any other
  26. garbage convenient for the compiler implementer)".  You have to stop at the
  27. null byte.
  28.  
  29. -- 
  30. John R. Levine, IECC, POB 349, Cambridge MA 02238, +1 617 492 3869
  31. johnl@iecc.cambridge.ma.us, {ima|spdcc|world}!iecc!johnl
  32. Re-elect Vice President Potatoe-Head !
  33.