mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
Add a new memcmpstart to use instead of strcmpstart when the thing we are comparing is not nul-terminated.
svn:r17187
This commit is contained in:
@@ -484,6 +484,22 @@ strcasecmpend(const char *s1, const char *s2)
|
||||
return strncasecmp(s1+(n1-n2), s2, n2);
|
||||
}
|
||||
|
||||
/** Compare the value of the string <b>prefix</b> with the start of the
|
||||
* <b>memlen</b>-byte memory chunk at <b>mem</b>. Return as for strcmp.
|
||||
*
|
||||
* [As memcmp(mem, prefix, strlen(prefix)) but returns -1 if memlen is less
|
||||
* than strlen(prefix).]
|
||||
*/
|
||||
int
|
||||
memcmpstart(const void *mem, size_t memlen,
|
||||
const char *prefix)
|
||||
{
|
||||
size_t plen = strlen(prefix);
|
||||
if (memlen < plen)
|
||||
return -1;
|
||||
return memcmp(mem, prefix, plen);
|
||||
}
|
||||
|
||||
/** 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.
|
||||
*/
|
||||
|
||||
@@ -181,6 +181,9 @@ int strcasecmpstart(const char *s1, const char *s2)
|
||||
int strcmpend(const char *s1, const char *s2) ATTR_PURE ATTR_NONNULL((1,2));
|
||||
int strcasecmpend(const char *s1, const char *s2)
|
||||
ATTR_PURE ATTR_NONNULL((1,2));
|
||||
int memcmpstart(const void *mem, size_t memlen,
|
||||
const char *prefix) ATTR_PURE;
|
||||
|
||||
void tor_strstrip(char *s, const char *strip) ATTR_NONNULL((1,2));
|
||||
long tor_parse_long(const char *s, int base, long min,
|
||||
long max, int *ok, char **next);
|
||||
|
||||
Reference in New Issue
Block a user