mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
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>
This commit is contained in:
parent
609ef9f451
commit
5c99fa375d
8 changed files with 51 additions and 20 deletions
18
configure
vendored
18
configure
vendored
|
@ -4793,6 +4793,21 @@ if compile_prog "" "" ; then
|
|||
sem_timedwait=yes
|
||||
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
|
||||
|
||||
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue