diff options
author | Ted Lemon <source@isc.org> | 2001-05-02 17:00:48 +0000 |
---|---|---|
committer | Ted Lemon <source@isc.org> | 2001-05-02 17:00:48 +0000 |
commit | 085b94452bfc6544eb98da2a6d90084bb2b79fd6 (patch) | |
tree | db10169902a8155bd5f5cabb67d119855c094612 /omapip/support.c | |
parent | 5a4163c60b7f0eefc4c06f9cfa1b19cd8bafdab4 (diff) | |
download | isc-dhcp-085b94452bfc6544eb98da2a6d90084bb2b79fd6.tar.gz |
Add a strcasecmp for comparing omapi_data_type_t's.
Diffstat (limited to 'omapip/support.c')
-rw-r--r-- | omapip/support.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/omapip/support.c b/omapip/support.c index 51ef3512..40a4fb99 100644 --- a/omapip/support.c +++ b/omapip/support.c @@ -621,6 +621,31 @@ int omapi_td_strcmp (omapi_typed_data_t *s1, const char *s2) return 0; } +int omapi_td_strcasecmp (omapi_typed_data_t *s1, const char *s2) +{ + unsigned len, slen; + int rv; + + /* If the data type is not compatible, never equal. */ + if (s1 -> type != omapi_datatype_data && + s1 -> type != omapi_datatype_string) + return -1; + + slen = strlen (s2); + if (slen > s1 -> u.buffer.len) + len = s1 -> u.buffer.len; + else + len = slen; + rv = casecmp (s1 -> u.buffer.value, s2, len); + if (rv) + return rv; + if (s1 -> u.buffer.len > slen) + return 1; + else if (s1 -> u.buffer.len < slen) + return -1; + return 0; +} + isc_result_t omapi_make_value (omapi_value_t **vp, omapi_data_string_t *name, omapi_typed_data_t *value, |