curl/docs/libcurl/curl_strnequal.md
Viktor Szakats 8a8ff47b63
tidy-up: C and CI
- drop redundant casts for `CURL_UNCONST()` pointers (Windows).
- GHA/linux: delete redundant/dupe `-g` C flag in memory sanitizer job.
  Spotted-by: Daniel Stenberg
- examples/http2-upload: drop local macro.
- examples/http2-upload: drop leading underscore from union name.
- examples/http2-upload: drop interim macro.
- tests/server/util: reapply patch lost in a rebase.
- sync `main()` declarations across the codebase.

Closes #22559
2026-08-12 15:42:54 +02:00

62 lines
1.4 KiB
Markdown

---
c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
SPDX-License-Identifier: curl
Title: curl_strnequal
Section: 3
Source: libcurl
See-also:
- curl_strequal (3)
- strcasecmp (3)
- strcmp (3)
Protocol:
- All
Added-in: 7.1
---
# NAME
curl_strnequal - compare two strings ignoring case
# SYNOPSIS
~~~c
#include <curl/curl.h>
int curl_strnequal(const char *str1, const char *str2, size_t length);
~~~
# DESCRIPTION
The curl_strnequal(3) function compares the two strings *str1* and *str2*,
ignoring the case of the characters. It returns a non-zero (TRUE) integer if
the strings are identical.
This function compares no more than the first *length* bytes of *str1* and
*str2*.
This function uses plain ASCII based comparisons completely disregarding the
locale - contrary to how **strcasecmp** and other system case insensitive
string comparisons usually work.
This function is provided by libcurl to enable applications to compare strings
in a truly portable manner. There are no standard portable case insensitive
string comparison functions. This function works on all platforms.
# %PROTOCOLS%
# EXAMPLE
~~~c
int main(int argc, char *argv[])
{
const char *name = "compare";
if(curl_strnequal(name, argv[1], 5))
printf("Name and input matches in the 5 first bytes\n");
}
~~~
# %AVAILABILITY%
# RETURN VALUE
Non-zero if the strings are identical. Zero if they are not.