Merge branch 'cw/compat-util-header-cleanup' into next
Further shuffling of declarations across header files to streamline file dependencies. * cw/compat-util-header-cleanup: git-compat-util: move alloc macros to git-compat-util.h treewide: remove unnecessary includes for wrapper.h kwset: move translation table from ctype sane-ctype.h: create header for sane-ctype macros git-compat-util: move wrapper.c funcs to its header git-compat-util: move strbuf.c funcs to its header
This commit is contained in:
32
strbuf.h
32
strbuf.h
@ -671,4 +671,36 @@ char *xstrvfmt(const char *fmt, va_list ap);
|
||||
__attribute__((format (printf, 1, 2)))
|
||||
char *xstrfmt(const char *fmt, ...);
|
||||
|
||||
int starts_with(const char *str, const char *prefix);
|
||||
int istarts_with(const char *str, const char *prefix);
|
||||
|
||||
/*
|
||||
* If the string "str" is the same as the string in "prefix", then the "arg"
|
||||
* parameter is set to the "def" parameter and 1 is returned.
|
||||
* If the string "str" begins with the string found in "prefix" and then a
|
||||
* "=" sign, then the "arg" parameter is set to "str + strlen(prefix) + 1"
|
||||
* (i.e., to the point in the string right after the prefix and the "=" sign),
|
||||
* and 1 is returned.
|
||||
*
|
||||
* Otherwise, return 0 and leave "arg" untouched.
|
||||
*
|
||||
* When we accept both a "--key" and a "--key=<val>" option, this function
|
||||
* can be used instead of !strcmp(arg, "--key") and then
|
||||
* skip_prefix(arg, "--key=", &arg) to parse such an option.
|
||||
*/
|
||||
int skip_to_optional_arg_default(const char *str, const char *prefix,
|
||||
const char **arg, const char *def);
|
||||
|
||||
static inline int skip_to_optional_arg(const char *str, const char *prefix,
|
||||
const char **arg)
|
||||
{
|
||||
return skip_to_optional_arg_default(str, prefix, arg, "");
|
||||
}
|
||||
|
||||
static inline int ends_with(const char *str, const char *suffix)
|
||||
{
|
||||
size_t len;
|
||||
return strip_suffix(str, suffix, &len);
|
||||
}
|
||||
|
||||
#endif /* STRBUF_H */
|
||||
|
Reference in New Issue
Block a user