mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-01 08:03:31 +01:00
Add casei versions of strcmpstart/strcmpend
svn:r3026
This commit is contained in:
parent
ee7bef1458
commit
ad7db5e43a
@ -289,6 +289,15 @@ int strcmpstart(const char *s1, const char *s2)
|
|||||||
return strncmp(s1, s2, n);
|
return strncmp(s1, s2, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Compares the first strlen(s2) characters of s1 with s2. Returns as for
|
||||||
|
* strcasecmp.
|
||||||
|
*/
|
||||||
|
int strcasecmpstart(const char *s1, const char *s2)
|
||||||
|
{
|
||||||
|
size_t n = strlen(s2);
|
||||||
|
return strncasecmp(s1, s2, n);
|
||||||
|
}
|
||||||
|
|
||||||
/* Compares the last strlen(s2) characters of s1 with s2. Returns as for
|
/* Compares the last strlen(s2) characters of s1 with s2. Returns as for
|
||||||
* strcmp.
|
* strcmp.
|
||||||
*/
|
*/
|
||||||
@ -301,6 +310,18 @@ int strcmpend(const char *s1, const char *s2)
|
|||||||
return strncmp(s1+(n1-n2), s2, n2);
|
return strncmp(s1+(n1-n2), s2, n2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Compares the last strlen(s2) characters of s1 with s2. Returns as for
|
||||||
|
* strcasecmp.
|
||||||
|
*/
|
||||||
|
int strcasecmpend(const char *s1, const char *s2)
|
||||||
|
{
|
||||||
|
size_t n1 = strlen(s1), n2 = strlen(s2);
|
||||||
|
if (n2>n1)
|
||||||
|
return strcasecmp(s1,s2);
|
||||||
|
else
|
||||||
|
return strncasecmp(s1+(n1-n2), s2, n2);
|
||||||
|
}
|
||||||
|
|
||||||
/** Return a pointer to the first char of s that is not whitespace and
|
/** Return a pointer to the first char of s that is not whitespace and
|
||||||
* not a comment, or to the terminating NUL if no such character exists.
|
* not a comment, or to the terminating NUL if no such character exists.
|
||||||
*/
|
*/
|
||||||
|
@ -56,7 +56,9 @@ char *tor_strndup(const char *s, size_t n);
|
|||||||
#define HEX_CHARACTERS "0123456789ABCDEFabcdef"
|
#define HEX_CHARACTERS "0123456789ABCDEFabcdef"
|
||||||
void tor_strlower(char *s);
|
void tor_strlower(char *s);
|
||||||
int strcmpstart(const char *s1, const char *s2);
|
int strcmpstart(const char *s1, const char *s2);
|
||||||
|
int strcasecmpstart(const char *s1, const char *s2);
|
||||||
int strcmpend(const char *s1, const char *s2);
|
int strcmpend(const char *s1, const char *s2);
|
||||||
|
int strcasecmpend(const char *s1, const char *s2);
|
||||||
int tor_strstrip(char *s, const char *strip);
|
int tor_strstrip(char *s, const char *strip);
|
||||||
typedef enum {
|
typedef enum {
|
||||||
ALWAYS_TERMINATE, NEVER_TERMINATE, TERMINATE_IF_EVEN
|
ALWAYS_TERMINATE, NEVER_TERMINATE, TERMINATE_IF_EVEN
|
||||||
|
Loading…
Reference in New Issue
Block a user