X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=includes%2Fstring.h;fp=includes%2Fstring.h;h=0000000000000000000000000000000000000000;hb=94cec7268060142c361c882c0a54d4b0052a591c;hp=9d2a517a7cc2de434d46af6274b686d77d5c1205;hpb=c8f799d852e3698468a78954d82588e841cc0b70;p=pdclib.old diff --git a/includes/string.h b/includes/string.h deleted file mode 100644 index 9d2a517..0000000 --- a/includes/string.h +++ /dev/null @@ -1,282 +0,0 @@ -/* ---------------------------------------------------------------------------- - * $Id$ - * ---------------------------------------------------------------------------- - * Public Domain C Library - http://pdclib.sourceforge.net - * This code is Public Domain. Use, modify, and redistribute at will. - * ---------------------------------------------------------------------------- - * String handling - * --------------------------------------------------------------------------*/ - -#ifndef _STRING_H -#define _STRING_H _STRING_H - -#ifndef _NULL -#include "__intern.h" -#endif /* _NULL */ - -/* ---------------------------------------------------------------------------- - * MACROS - * --------------------------------------------------------------------------*/ - -#define NULL _NULL - -/* ---------------------------------------------------------------------------- - * TYPEDEFS - * --------------------------------------------------------------------------*/ - -#ifndef _SIZE_T -#define _SIZE_T _SIZE_T -typedef __size_t size_t -#endif /* _SIZE_T */ - -/* ---------------------------------------------------------------------------- - * FUNCTIONS - * --------------------------------------------------------------------------*/ - -/** MEMory search for CHaRacter. Searches a memory area for a character. - * @param src The memory area. - * @param c The character to look for. - * @param n Number of characters to search. - * @return A pointer to the first occurrence of c in src, or NULL if no match - * found. - * @see strchr() - */ -void * memchr( const void * src, int c, size_t n ); - -/** MEMory CoMPare. Compares two memory areas until a difference is found. - * This implementation actually returns the difference of the first differing - * byte. - * This behaviour is implementation-defined and should not be relied upon to - * keep your code portable across implementations. - * @param src_1 The first memory area. - * @param src_2 The second memory area. - * @param n Number of bytes to compare. - * @return 0, if both areas are identical. If a difference is found, returns a - * value < 0 if the byte from memory area src_1 is smaller than that - * from src_2, or > 0 if otherwise. - * @see strncmp() - */ -int memcmp( const void * src_1, const void * src_2, size_t n ); - -/** MEMory CoPY. Copies a source memory area of size n into a destination - * memory area. - * Should the memory areas pointed to by dest and src overlap, behaviour is - * undefined. - * @param dest The destination memory area. - * @param src The source memory area. - * @param n The size of the source memory area. - * @return A pointer to the destination memory area. - * @see strncpy() - */ -void * memcpy( void * restrict dest, const void * restrict src, size_t n ); - -/** MEMory CoPY. Moves a source memory area of size n into a destination - * memory area. The memory areas may overlap. - * @param dest The destination memory area. - * @param src The source memory area. - * @param n The size of the source memory area. - * @return A pointer to the destination memory area. - * @see strncpy() - */ -void * memmove( void * dest, const void * src, size_t n ); - -/** MEMory SET. Fills a memory area with a given character. - * @param dest The destination memory area. - * @param c The character to be written to dest. - * @param n The number of characters to be written to dest. - * @return A pointer to the destination memory area. - */ -void * memset( void * dest, int c, size_t n ); - -/** STRing conCATenation. Appends a C string to another. If the memory area - * pointed to by 'dest' is not large enough to hold both 'dest' and 'src', - * behaviour is undefined. - * @param dest The destination string. - * @param src The source string. - * @return A pointer to the destination string. - * @see strncat() - */ -char * strcat( char * restrict dest, const char * restrict src ); - -/** STRing search for CHaRacter. Searches a C string (including terminating \0) - * for a character. If the string is not properly terminated, behaviour is - * undefined. - * @param src The source string. - * @param c The character to look for. - * @return A pointer to the first occurrence of c in src, or NULL if no match - * found. - */ -char * strchr( const char * src, int c ); - -/** STRing CoMPare. Compares two C strings until two differing characters are - * found, or both strings end. If the input strings are not correctly - * teminated with \0, behaviour is undefined. - * This implementation actually returns the difference of the two characters. - * This behaviour is implementation-defined and should not be relied upon to - * keep your code portable across implementations. - * @param src_1 The first string to be compared. - * @param src_2 The second string to be compared. - * @return 0, if both strings are identical. If two differing characters are - * found, returns a value < 0 if the character from src_1 is smaller - * than that from src_2, or > 0 if otherwise. - * @see strncmp() - */ -int strcmp( const char * src_1, const char * src_2 ); - -/** STRing COLLate. Compares two C strings until two differing characters are - * found, honoring the current locale. - * This implementation actually returns the difference of the two characters. - * This behaviour is implementation-defined and should not be relied upon to - * keep your code portable across implementations. - * @param src_1 The first string to be compared. - * @param src_2 The second string to be compared. - * @return 0, if both strings are identical. If two differing characters are - * found, returns a value < 0 if the character from src_1 is smaller - * than that from src_2, or > 0 if otherwise. - * @see locale.h - */ -int strcoll( const char * src_1, const char * src_2 ); - -/** STRing CoPY. Copies a source string (including terminating \0) into a - * destination string. If the memory area pointed to by dest is not large - * enough to hold src, behaviour is undefined. Should the memory areas pointed - * to by dest and src overlap, behavious is undefined. - * @param dest The destination string. - * @param src The source string. - * @return A pointer to the destination string. - * @see strncpy() - */ -char * strcpy( char * restrict dest, const char * restrict src ); - -/** STRing Character SPaN. Compares two C strings, determining the length of - * the substring not containing any character from the second string. - * @param src_1 The string to be searched. - * @param src_2 The string containing the characters to be searched for. - * @return The length of the src_1 substring not containing any character - * from src_2. - */ -size_t strcspn( const char * src_1, const char * src_2 ); - -/** STRing ERROR. Returns the error message corresponding to an error code. - * @param errorcode The error code. - * @return The plaintext error message corresponding to the error code. - * @see errno.h - * @see fenv.h - */ -char * strerror( int errorcode ); - -/** STRing LENgth. Returns the number of characters in a C string, not counting - * the terminating \0. - * @param src The source string. - * @return The number of characters in the string, not counting the - * terminating \0. - */ -size_t strlen( const char * src ); - -/** STRing N conCATenate. Appends a C string to another, setting a limit on the - * number of characters copied. - * @param dest The destination string. - * @param src The source string. - * @param n The maximum number of characters to be copied. - * @return A pointer to the destination string. - * @see strcat() - */ -char * strncat( char * restrict dest, const char * restrict src, size_t n ); - -/** STRing N CoMPare. Compares two C strings until two differing characters are - * found, both strings end, or a maximum number of characters has been - * compared. - * This implementation actually returns the difference of the two characters. - * This behaviour is implementation-defined and should not be relied upon to - * keep your code portable across implementations. - * @param src_1 The first string to be compared. - * @param src_2 The second string to be compared. - * @param n The maximum number of characters to be compared. - * @return 0, if both strings are identical. If two differing characters are - * found, returns a value < 0 if the character from src_1 is smaller - * than that from src_2, or > 0 if otherwise. - * @see strcmp() - */ -int strncmp( const char * src_1, const char * src_2, size_t n ); - -/** STRing CoPY. Copies a source string (including terminating \0) into a - * destination string, setting a limit on the number of characters copied. - * Should the memory areas pointed to by dest and src overlap, behaviour is - * undefined. - * @param dest The destination string. - * @param src The source string. - * @param n The maximum number of characters to be copied. - * @return A pointer to the destination string. - * @see strcpy() - */ -char * strncpy( char * restrict dest, const char * restrict src, size_t n ); - -/** STRing SPaN. Compares two C strings, determining the length of the - * substring containing only characters from the second string. - * @param src_1 The first string to be compared. - * @param src_2 The second string to be compared. - * @return The length of the identical substring. - */ -size_t strspn( const char * src_1, const char * src_2 ); - -/** STRing TOKenizer. This (complex and not thread-safe) function allows, by - * subsequent calls, to parse a string for tokens. The first parameter to the - * function is the C string to be parsed, the second parameter a C string - * containing a collection of seperating characters. On first call to the - * function, strtok() skips leading seperators, sets the first seperator after - * the token to \0, and returns a pointer to the token. Subsequent calls to - * strtok() with NULL as the first parameter return pointers to subsequent - * tokens, or NULL when all tokens have been parsed. - * Beware, this function is not thread-safe. - * @param src The string to be parsed (on first call), or NULL (to parse - * subsequent tokens). - * @param seperators The string containing the seperator(s). - * @return The next token parsed, or NULL if parse completed. - */ -char * strtok( char * restrict src, const char * restrict seperators ); - -/** STRing X FRoM. This function transforms a C string into another using a - * transformation rule depending on the current locale. - * @param dest The destination, where the transformed string should be written - * to. - * @param src The source string to be transformed. - * @param n The maximum number of characters to be written to dest. If this - * parameter is zero, 'dest' can be a NULL pointer (to determine the - * required space before doing the actual transformation). - * @return The length of the string after transformation. If return value > n, - * the transformed string has not been written, and the contents of - * 'dest' are undefined. - * @see locale.h - * @see strcoll() - */ -size_t strxfrm( char * restrict dest, const char * restrict src, size_t n ); - -/** STRing search, return Pointer to BReaK. Searches a C string (including - * terminating \0) for any character contained in a second string. If the - * first string is not properly terminated, behaviour is undefined. - * @param src_1 The string to be seached. - * @param src_2 The string containing the characters to be searched. - * @return A pointer into src_1 pointing to the first occurrence of any - * character from src_2, or NULL if no match found. - */ -char * strpbrk( const char * src_1, const char * src_2 ); - -/** STRing Reverse search for CHaRacter. Searches a C string (including - * terminating \0) for a character. If the string is not properly terminated, - * behaviour is undefined. - * @param src The source string. - * @param c The character to look for. - * @return A pointer to the last occurrence of c in src, or NULL if no match - * found. - */ -char * strrchr( const char * src, int c ); - -/** STRing search for STRing. Searches a C string for a substring. - * @param src_1 The string to be searched in. - * @param src_2 The substring to be searched for. - * @return A pointer to the first occurrence of src_2 in src_1, or NULL if no - * match found. - */ -char * strstr( const char * src_1, const char * src_2 ); - -#endif /* _STRING_H */