DIRECTORY Basics USING [RawChars]; CStrings: CEDAR DEFINITIONS ~ BEGIN CString: TYPE = POINTER TO Basics.RawChars ¬ NIL; Strcat: UNSAFE PROC[s1, s2: CString] RETURNS[CString] ~ TRUSTED MACHINE CODE { "strcat" }; Strncat: UNSAFE PROC[s1, s2: CString, n: INT] RETURNS[CString] ~ TRUSTED MACHINE CODE { "strncat" }; Strdup: PROC[s1: CString] RETURNS[CString] ~ TRUSTED MACHINE CODE { "strdup" }; Strcmp: PROC[s1, s2: CString] RETURNS[INT] ~ TRUSTED MACHINE CODE { "strcmp" }; Strncmp: PROC[s1, s2: CString, max: INT] RETURNS[INT] ~ TRUSTED MACHINE CODE { "strncmp" }; Strcpy: UNSAFE PROC[s1, s2: CString] RETURNS[CString] ~ TRUSTED MACHINE CODE { "strcpyt" }; Strncpy: UNSAFE PROC[s1, s2: CString, n: INT] RETURNS[CString] ~ TRUSTED MACHINE CODE { "strncpy" }; Strlen: PROC[s: CString] RETURNS[INT] ~ TRUSTED MACHINE CODE { "strlen" }; Strchr: PROC[s1: CString, c: INT] RETURNS[CString] ~ TRUSTED MACHINE CODE { "strchr" }; Strrchr: PROC[s1: CString, c: INT] RETURNS[CString] ~ TRUSTED MACHINE CODE { "strrchr" }; Strpbrk: PROC[s1, s2: CString] RETURNS[CString] ~ TRUSTED MACHINE CODE { "strpbrk" }; Strspn: PROC[s1, s2: CString] RETURNS[INT] ~ TRUSTED MACHINE CODE { "strspn" }; Strcspn: PROC[s1, s2: CString] RETURNS[INT] ~ TRUSTED MACHINE CODE { "strcspn" }; Index: PROC[s1: CString, c: CHAR] RETURNS[CString] ~ TRUSTED MACHINE CODE { "index" }; RIndex: PROC[s1: CString, c: CHAR] RETURNS[CString] ~ TRUSTED MACHINE CODE { "rindex" }; END. μ CStrings.mesa Copyright Σ 1991, 1992 by Xerox Corporation. All rights reserved. Willie-s, August 8, 1991 2:22 pm PDT taken from string.h and strings.h there is no guarantee that the chars pointed to will be word aligned Strtok Κ‘•NewlineDelimiter –(cedarcode) style™šœ ™ Icodešœ Οeœ7™BK™$—K˜šΟk ˜ Kšœžœ ˜K˜—KšΠblœžœž ˜šœž˜K˜K™!K˜š œ žœžœžœžœ˜1K™D—K˜šΟnœžœžœžœ žœžœžœ˜NK˜šœ˜K˜——š œžœžœžœžœ žœžœžœ˜WK˜ šœ˜K˜——š  œžœžœ žœžœžœ˜CK˜šœ˜K˜——š œžœžœžœžœžœžœ˜CK˜šœ˜K˜——š œžœžœžœžœžœžœžœ˜NK˜ Kšœ˜K˜—š œžœžœžœ žœžœžœ˜NK˜ šœ˜K˜——š œžœžœžœžœ žœžœžœ˜WK˜ šœ˜K˜——š œžœ žœžœžœžœžœ˜>K˜Kšœ˜K˜—š œžœžœžœ žœžœžœ˜KK˜šœ˜K˜——š œžœžœžœ žœžœžœ˜LK˜ Kšœ˜K˜—š  œžœžœ žœžœžœ˜HK˜ šœ˜K˜——š œžœžœžœžœžœžœ˜CK˜Kšœ˜K˜—š œžœžœžœžœžœžœ˜DK˜ Kšœ˜K˜—™K™—š œžœžœžœ žœžœžœ˜KK˜šœ˜K˜——š œžœžœžœ žœžœžœ˜LK˜Kšœ˜—K˜K˜—Kšžœ˜K˜K˜—…—Έ E