75 #ifdef STRCASECMP_IN_STRINGS_H
84 #define STR(x) vstring_str(x)
91 static void strcasecmp_utf8_init(
void)
111 strcasecmp_utf8_init();
120 return (strcmp(
STR(f1),
STR(f2)));
133 strcasecmp_utf8_init();
150 return (strcmp(
STR(f1),
STR(f2)));
161 int main(
int argc,
char **argv)
176 if (cmd->
argc == 0 || cmd->
argv[0][0] ==
'#')
183 if (strcmp(args[0],
"compare") == 0 && cmd->
argc == 3) {
187 res < 0 ?
"<" : res == 0 ?
"==" :
">",
194 else if (strcmp(args[0],
"compare-len") == 0 && cmd->
argc == 4
195 && sscanf(args[3],
"%d", &len) == 1 && len >= 0) {
199 res < 0 ?
"<" : res == 0 ?
"==" :
">",
207 vstream_printf(
"Usage: %s compare <s1> <s2> | compare-len <s1> <s2> <len>\n",
#define vstring_fgets_nonl(s, p)
ARGV * argv_free(ARGV *argvp)
int main(int argc, char **argv)
int strncasecmp(const char *s1, const char *s2, size_t n)
int strcasecmp_utf8x(int flags, const char *s1, const char *s2)
char * casefoldx(int flags, VSTRING *dest, const char *src, ssize_t len)
int allascii_len(const char *string, ssize_t len)
VSTREAM * vstream_printf(const char *fmt,...)
VSTRING * vstring_alloc(ssize_t len)
int vstream_fflush(VSTREAM *stream)
ARGV * argv_split(const char *, const char *)
int strcasecmp(const char *s1, const char *s2)
void msg_vstream_init(const char *name, VSTREAM *vp)
int strncasecmp_utf8x(int flags, const char *s1, const char *s2, ssize_t len)