mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
Turn streq_opt into a generic strcmp_opt.
This commit is contained in:
@@ -521,6 +521,23 @@ tor_strisnonupper(const char *s)
|
||||
return 1;
|
||||
}
|
||||
|
||||
/** As strcmp, except that either string may be NULL. The NULL string is
|
||||
* considered to be before any non-NULL string. */
|
||||
int
|
||||
strcmp_opt(const char *s1, const char *s2)
|
||||
{
|
||||
if (!s1) {
|
||||
if (!s2)
|
||||
return 0;
|
||||
else
|
||||
return -1;
|
||||
} else if (!s2) {
|
||||
return 1;
|
||||
} else {
|
||||
return strcmp(s1, s2);
|
||||
}
|
||||
}
|
||||
|
||||
/** Compares the first strlen(s2) characters of s1 with s2. Returns as for
|
||||
* strcmp.
|
||||
*/
|
||||
|
||||
@@ -175,6 +175,7 @@ void tor_strlower(char *s) ATTR_NONNULL((1));
|
||||
void tor_strupper(char *s) ATTR_NONNULL((1));
|
||||
int tor_strisprint(const char *s) ATTR_PURE ATTR_NONNULL((1));
|
||||
int tor_strisnonupper(const char *s) ATTR_PURE ATTR_NONNULL((1));
|
||||
int strcmp_opt(const char *s1, const char *s2) ATTR_PURE;
|
||||
int strcmpstart(const char *s1, const char *s2) ATTR_PURE ATTR_NONNULL((1,2));
|
||||
int strcmp_len(const char *s1, const char *s2, size_t len)
|
||||
ATTR_PURE ATTR_NONNULL((1,2));
|
||||
|
||||
+1
-6
@@ -3864,12 +3864,7 @@ options_validate(or_options_t *old_options, or_options_t *options,
|
||||
static int
|
||||
opt_streq(const char *s1, const char *s2)
|
||||
{
|
||||
if (!s1 && !s2)
|
||||
return 1;
|
||||
else if (s1 && s2 && !strcmp(s1,s2))
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
return 0 == strcmp_opt(s1, s2);
|
||||
}
|
||||
|
||||
/** Check if any of the previous options have changed but aren't allowed to. */
|
||||
|
||||
Reference in New Issue
Block a user