diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2022-03-12 22:43:10 -0500 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2022-03-12 22:43:10 -0500 |
commit | 64426f1a89450a0f79b723a4d966f7f9c7492c60 (patch) | |
tree | aeb9b990a501e5cc44e05fe26179b4c470b3a592 /regex.h | |
parent | 8ad8838d21a133fb8a48e1e88001ca3aed9baf9d (diff) | |
download | bfs-64426f1a89450a0f79b723a4d966f7f9c7492c60.tar.xz |
Don't shadow standard headers
@italic on the AUR stated that bfs from the AUR fails to build on
Manjaro. From the build log, it seems like <time.h> doesn't get
included properly. I assume it's picking up ./time.h instead.
I couldn't reproduce the build issue in the default configuration, but
it does fail with EXTRA_CFLAGS="-I." which isn't good. So rename
everything with an x prefix to stop clashing.
Link: https://aur.archlinux.org/packages/bfs#comment-856102
Link: https://paste.rs/eqR
Diffstat (limited to 'regex.h')
-rw-r--r-- | regex.h | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/regex.h b/regex.h deleted file mode 100644 index 63cd120..0000000 --- a/regex.h +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************** - * bfs * - * Copyright (C) 2022 Tavian Barnes <tavianator@tavianator.com> and bfs * - * contributors * - * * - * Permission to use, copy, modify, and/or distribute this software for any * - * purpose with or without fee is hereby granted. * - * * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - ****************************************************************************/ - -#ifndef BFS_REGEX_H -#define BFS_REGEX_H - -/** - * A compiled regular expression. - */ -struct bfs_regex; - -/** - * Regex syntax flavors. - */ -enum bfs_regex_type { - BFS_REGEX_POSIX_BASIC, - BFS_REGEX_POSIX_EXTENDED, - BFS_REGEX_EMACS, - BFS_REGEX_GREP, -}; - -/** - * Regex compilation flags. - */ -enum bfs_regcomp_flags { - /** Treat the regex case-insensitively. */ - BFS_REGEX_ICASE = 1 << 0, -}; - -/** - * Regex execution flags. - */ -enum bfs_regexec_flags { - /** Only treat matches of the entire string as successful. */ - BFS_REGEX_ANCHOR = 1 << 0, -}; - -/** - * Wrapper for regcomp() that supports additional regex types. - * - * @param[out] preg - * Will hold the compiled regex. - * @param pattern - * The regular expression to compile. - * @param type - * The regular expression syntax to use. - * @param flags - * Regex compilation flags. - * @return - * 0 on success, -1 on failure. - */ -int bfs_regcomp(struct bfs_regex **preg, const char *pattern, enum bfs_regex_type type, enum bfs_regcomp_flags flags); - -/** - * Wrapper for regexec(). - * - * @param regex - * The regular expression to execute. - * @param str - * The string to match against. - * @param flags - * Regex execution flags. - * @return - * 1 for a match, 0 for no match, -1 on failure. - */ -int bfs_regexec(struct bfs_regex *regex, const char *str, enum bfs_regexec_flags flags); - -/** - * Free a compiled regex. - */ -void bfs_regfree(struct bfs_regex *regex); - -/** - * Get a human-readable regex error message. - * - * @param regex - * The compiled regex. - * @return - * A human-readable description of the error, which should be free()'d. - */ -char *bfs_regerror(const struct bfs_regex *regex); - -#endif // BFS_REGEX_H |