ISO/ IEC JTC1/SC22/WG14 N687

                          Document Number:  WG14 N687/X3J11 __-___
                               C9X Revision Proposal
       Title: Replacement for strtok_______________________________
       Author: Keith Bostic________________________________________
       Author Affiliation: University of California, Berkeley______
       Postal Address: 394 East Riding Dr., Carlisle MA 01741______
       E-mail Address: bostic@cs.berkeley.edu______________________
       Telephone Number: +1 508-287-4781___________________________
       Fax Number: ________________________________________________
       Sponsor: Peter Seebach______________________________________
       Date: 1997-05-17____________________________________________
       Proposal Category:
          __ Editorial change/non-normative contribution
          __ Correction
          Y_ New feature
          __ Addition to obsolescent feature list
          __ Addition to Future Directions
          __ Other (please specify)  ______________________________
       Area of Standard Affected:
          __ Environment
          __ Language
          __ Preprocessor
          Y_ Library
             Y_ Macro/typedef/tag name
             __ Function
             __ Header
          __ Other (please specify)  ______________________________
       Prior Art: Unknown__________________________________________
       Target Audience: Vendors, programmers needing integer types.
       Related Documents (if any): <inttypes.h> proposal___________
       Proposal Attached: Y_ Yes __ No, but what's your interest?

       1: Strtok cannot handle empty fields.
       2: Strtok cannot handle more than a single string at a time.

       Provide strsep as a replacement.

       char * strsep(char **stringp, char *delim);

       The strsep() function locates, in the string referenced
       by *stringp, the first occurrence of any character in
       the string delim (or the terminating `\0' character) and
       replaces it with a `\0'.  The location of the next
       character after the delimiter character (or NULL, if the
       end of the string was reached) is stored in *stringp.
       The original value of *stringp is returned.