aboutsummaryrefslogblamecommitdiffstats
path: root/src/lib/evil/evil_string.h
blob: 6dbdb34d96ba6770f0806910e301c2c8861f8bc5 (plain) (tree)
1
2
3
4
5
6
7
8
9



                         



                                                                        
                


                                                               
  


   



                        













                                                                                                                           

              

                                              
 
   
                                                          











                                                                          
                            


                                                                
   















                                                                                   
 






                                                        
 
                              
#ifndef __EVIL_STRING_H__
#define __EVIL_STRING_H__


/**
 * @file evil_string.h
 * @brief The file that provides functions ported from Unix in string.h.
 * @defgroup Evil_String_Group String.h functions.
 * @ingroup Evil
 *
 * This header provides functions ported from Unix in string.h.
 *
 *
 */


/*
 * bit related functions
 *
 */
/**
 * @brief Duplicate a string
 *
 * @param str String to be duplicated
 * @param n size of new duplicated string
 * @return The strndup() function returns a pointer to the duplicated string, or NULL if insufficient memory was available.
 *
 * This function returns a pointer to a new string which is a duplicate of the string str, 
 * but only copies at most n bytes. If str is longer than n, only n bytes are copied,
 * and a terminating null byte ('\0') is added.
 *
 * Conformity: BSD
 *
 * Supported OS: Windows XP.
 *
 * @since 1.13
 */
EAPI char *strndup(const char *str, size_t n);

/**
 * @brief Locate a substring into a string, ignoring case.
 *
 * @param haystack The string to search in.
 * @param needle The substring to find.
 * @return
 *
 * This function locates the string @p needle into the string @p haystack,
 * ignoring the case of the characters. It returns apointer to the
 * beginning of the substring, or NULL if the substring is not found.
 * If @p haystack or @p needle are @c NULL, this function returns @c NULL.
 *
 * Conformity: Non applicable.
 *
 * Supported OS: Windows XP.
 */
EAPI char *strcasestr(const char *haystack, const char *needle);

/**
 * @brief Implements the strsep function which is used to separate strings.
 *
 * @param stringp The pointer to the string to search in.
 * @param delim The delimiter that contains characters used to find the next token.
 * @return a pointer to the next token or NULL;
 *
 * 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.
 *
 * An ``empty'' field (i.e., a character in the string delim occurs as the
 * first character of *stringp) can be detected by comparing the location
 * referenced by the returned pointer to `\0'.

 * If *stringp is initially NULL, strsep() returns NULL.
 *
 * This function is from LibGW32C.
 * @since 1.8
 *
 */
EAPI char *strsep(char **stringp, const char *delim);

#endif /* __EVIL_STRING_H__ */