]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
queue: Support TAILQ_FOREACH_MUTABLE
authorRoy Marples <roy@marples.name>
Wed, 28 Aug 2019 12:52:38 +0000 (13:52 +0100)
committerRoy Marples <roy@marples.name>
Wed, 28 Aug 2019 12:52:38 +0000 (13:52 +0100)
Basically another name for TAILQ_FOREACH_SAFE.

configure

index f3fc2369fc5d66d3cf50d288e42ddc2bd3dc1ffe..b05b0241d049b0c604f1bde5867fc04bfd6b03dc 100755 (executable)
--- a/configure
+++ b/configure
@@ -938,6 +938,30 @@ EOF
        echo "$TAILQ_FOREACH_SAFE"
        rm -f _queue.c _queue
 fi
+if [ "$TAILQ_FOREACH_SAFE" = no ] && [ -z "$TAILQ_FOREACH_MUTABLE" ]; then
+       printf "Testing for TAILQ_FOREACH_MUTABLE ... "
+       cat <<EOF >_queue.c
+#include <sys/queue.h>
+int main(void) {
+#ifndef TAILQ_FOREACH_MUTABLE
+#error TAILQ_FOREACH_MUTABLE
+#endif
+       return 0;
+}
+EOF
+       if $XCC _queue.c -o _queue 2>&3; then
+               TAILQ_FOREACH_MUTABLE=yes
+               TAILQ_FOREACH_SAFE=yes
+               TAILQ_FOREACH=yes
+               echo "#define   TAILQ_FOREACH_SAFE      TAILQ_FOREACH_MUTABLE" \
+                       >> $CONFIG_H
+       else
+               TAILQ_FOREACH_MUTABLE=no
+       fi
+       echo "$TAILQ_FOREACH_MUTABLE"
+       rm -f _queue.c _queue
+fi
+
 
 if [ -z "$TAILQ_CONCAT" ]; then
        printf "Testing for TAILQ_CONCAT ..."