diff options
author | Keno Fischer <keno@juliacomputing.com> | 2018-06-29 12:32:10 +0200 |
---|---|---|
committer | Greg Kurz <groug@kaod.org> | 2018-06-29 12:32:10 +0200 |
commit | 5c99fa375da1c7cc4a42a93e002e98b9fb34754b (patch) | |
tree | 96dd1387a3a911dfb5ef5d97a4775028b87ba560 /configure | |
parent | 609ef9f451759151d0bfe7c3843410ab94d68f18 (diff) |
cutils: Provide strchrnul
strchrnul is a GNU extension and thus unavailable on a number of targets.
In the review for a commit removing strchrnul from 9p, I was asked to
create a qemu_strchrnul helper to factor out this functionality.
Do so, and use it in a number of other places in the code base that inlined
the replacement pattern in a place where strchrnul could be used.
Signed-off-by: Keno Fischer <keno@juliacomputing.com>
Acked-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Greg Kurz <groug@kaod.org>
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -4794,6 +4794,21 @@ if compile_prog "" "" ; then fi ########################################## +# check if we have strchrnul + +strchrnul=no +cat > $TMPC << EOF +#include <string.h> +int main(void); +// Use a haystack that the compiler shouldn't be able to constant fold +char *haystack = (char*)&main; +int main(void) { return strchrnul(haystack, 'x') != &haystack[6]; } +EOF +if compile_prog "" "" ; then + strchrnul=yes +fi + +########################################## # check if trace backend exists $python "$source_path/scripts/tracetool.py" "--backends=$trace_backends" --check-backends > /dev/null 2> /dev/null @@ -6276,6 +6291,9 @@ fi if test "$sem_timedwait" = "yes" ; then echo "CONFIG_SEM_TIMEDWAIT=y" >> $config_host_mak fi +if test "$strchrnul" = "yes" ; then + echo "HAVE_STRCHRNUL=y" >> $config_host_mak +fi if test "$byteswap_h" = "yes" ; then echo "CONFIG_BYTESWAP_H=y" >> $config_host_mak fi |