Detected by a simple Shell script:
for i in $(git ls-files -- '*.[ch]'); do
awk 'BEGIN {
fail=0
}
/# *include.*\.h/{
match($0, /["<][^">]*[">]/)
arr[substr($0, RSTART+1, RLENGTH-2)]++
}
END {
for (key in arr) {
if (arr[key] > 1) {
fail=1
printf("%d %s\n", arr[key], key)
}
}
if (fail == 1)
exit 1
}' $i
if test $? != 0; then
echo "Duplicate header(s) in $i"
fi
done;
A later patch will add the syntax-check to avoid duplicate
headers.
14 files changed:
#include "virnetlink.h"
#include "virnetserver.h"
#include "remote.h"
-#include "remote_driver.h"
#include "virhook.h"
#include "viraudit.h"
#include "locking/lock_manager.h"
#include "viralloc.h"
#include "node_device_conf.h"
-#include "viralloc.h"
#include "virxml.h"
#include "virutil.h"
#include "virbuffer.h"
#include "viralloc.h"
#include "viruuid.h"
#include "vircommand.h"
-#include "libxl.h"
#include "libxl_driver.h"
#include "libxl_conf.h"
#include "xen_xm.h"
#include <signal.h>
#include <paths.h>
#include <pwd.h>
-#include <stdio.h>
#include <sys/wait.h>
#include <sys/ioctl.h>
#include <net/if.h>
#include <dirent.h>
#include <time.h>
#include <sys/stat.h>
-#include <unistd.h>
#include <limits.h>
#include <errno.h>
#include <string.h>
#include <fcntl.h>
#include <paths.h>
#include <pwd.h>
-#include <stdio.h>
#include <sys/wait.h>
#include "virerror.h"
#include <fcntl.h>
#include <paths.h>
#include <pwd.h>
-#include <stdio.h>
#include <sys/wait.h>
#include <sys/time.h>
#include <sys/statvfs.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
-#include <stdio.h>
#include <libssh2.h>
#include <netinet/in.h>
#include <arpa/inet.h>
# include "virobject.h"
# include "capabilities.h"
# include "vircommand.h"
-# include "virobject.h"
# include "qemu_monitor.h"
/* Internal flags to keep track of qemu command line capabilities */
#include <fcntl.h>
#include <signal.h>
#include <paths.h>
-#include <stdio.h>
#include <sys/wait.h>
#include <sys/ioctl.h>
#include <sys/un.h>
#include "virfile.h"
#include "virhash.h"
#include "virrandom.h"
-#include "virutil.h"
#include "virconf.h"
#include "virtpm.h"
#include <signal.h>
#include <paths.h>
#include <pwd.h>
-#include <stdio.h>
#include <sys/wait.h>
#include <sys/ioctl.h>
#include <sys/inotify.h>
#include "virnetdevopenvswitch.h"
#include "virerror.h"
#include "virfile.h"
-#include "virerror.h"
#include "viralloc.h"
#include "virlog.h"
#include "virutil.h"
#include <sys/mman.h>
#include <sys/ioctl.h>
#include <limits.h>
-#include <stdint.h>
#include <regex.h>
#include <errno.h>