3ea78c91dc
I applied this patch with Coccinelle's semantic patch tool, spatch(1). I installed Coccinelle from pkgsrc: devel/coccinelle/. I wrote tailq.spatch and kdefs.h (see below) and ran this command, spatch -debug -macro_file_builtins ./kdefs.h -outplace \ -sp_file sys/kern/tailq.spatch sys/kern/subr_autoconf.c which wrote the transformed source file to /tmp/subr_autoconf.c. Then I used indent(1) to fix the indentation. :::::::::::::::::::: ::: tailq.spatch ::: :::::::::::::::::::: @@ identifier I, N; expression H; statement S; iterator name TAILQ_FOREACH; @@ - for (I = TAILQ_FIRST(H); I != NULL; I = TAILQ_NEXT(I, N)) S + TAILQ_FOREACH(I, H, N) S ::::::::::::::: ::: kdefs.h ::: ::::::::::::::: #define MAXUSERS 64 #define _KERNEL #define _KERNEL_OPT #define i386 /* * Tail queue definitions. */ #define _TAILQ_HEAD(name, type, qual) \ struct name { \ qual type *tqh_first; /* first element */ \ qual type *qual *tqh_last; /* addr of last next element */ \ } #define TAILQ_HEAD(name, type) _TAILQ_HEAD(name, struct type,) #define TAILQ_HEAD_INITIALIZER(head) \ { NULL, &(head).tqh_first } #define _TAILQ_ENTRY(type, qual) \ struct { \ qual type *tqe_next; /* next element */ \ qual type *qual *tqe_prev; /* address of previous next element */\ } #define TAILQ_ENTRY(type) _TAILQ_ENTRY(struct type,) #define PMF_FN_PROTO1 pmf_qual_t #define PMF_FN_ARGS1 pmf_qual_t qual #define PMF_FN_CALL1 qual #define PMF_FN_PROTO , pmf_qual_t #define PMF_FN_ARGS , pmf_qual_t qual #define PMF_FN_CALL , qual #define __KERNEL_RCSID(a, b) |
||
---|---|---|
bin | ||
common | ||
compat | ||
crypto | ||
dist | ||
distrib | ||
doc | ||
etc | ||
external | ||
games | ||
gnu | ||
include | ||
lib | ||
libexec | ||
regress | ||
rescue | ||
sbin | ||
share | ||
sys | ||
tests | ||
tools | ||
usr.bin | ||
usr.sbin | ||
x11 | ||
build.sh | ||
BUILDING | ||
Makefile | ||
Makefile.inc | ||
UPDATING |