On Wed, Jul 10, 2013 at 10:38:27AM +0200, Ján Tomko wrote:
On 07/08/2013 04:21 PM, Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange(a)redhat.com>
>
> Add two syntax-check rules
>
> - sc_prohibit_int_ijk - block use of 'int' as a data type
> for any variables named 'i', 'j', 'k'
> - sc_prohibit_int_iijjkk - block use of 'ii', 'jj', 'kk'
> for any variable names
> ---
> cfg.mk | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/cfg.mk b/cfg.mk
> index bbe84b3..2285f08 100644
> --- a/cfg.mk
> +++ b/cfg.mk
> @@ -545,6 +545,17 @@ sc_avoid_attribute_unused_in_header:
> halt='use ATTRIBUTE_UNUSED in .c rather than .h files' \
> $(_sc_search_regexp)
>
> +sc_prohibit_int_ijk:
> + @prohibit='\<int ([^=\(]+ )*(i|j|k)(\s|,|;)' \
> + halt='use size_t, not int/unsigned int for loop vars i, j, k' \
> + $(_sc_search_regexp)
> +
This misses some variables after the '=' sign:
int n = 0, i;
Yep, I notice that now. Seems I was slightly too clever. The following
simpler rule catches them
@prohibit='\<int [^(]* (i|j|k)(\s|,|;)'
The following were missed:
examples/hellolibvirt/hellolibvirt.c:57: int ret = 0, i, numNames, numInactiveDomains,
numActiveDomains;
examples/openauth/openauth.c:93: int ret = 0, i, numNames, numInactiveDomains,
numActiveDomains;
python/libvirt-override.c:2103: int ret = -1, i;
src/conf/node_device_conf.c:742: int ret = -1, n = 0, i;
src/lxc/lxc_container.c:254: int tmpfd = i;
src/network/bridge_driver.c:2843: int nactive = 0, i;
src/network/bridge_driver.c:2865: int got = 0, i;
src/network/bridge_driver.c:2896: int ninactive = 0, i;
src/network/bridge_driver.c:2918: int got = 0, i;
src/network/bridge_driver.c:3765: int ret = -1, i = 0;
src/node_device/node_device_udev.c:320: int ret = 0, i = 0;
src/nwfilter/nwfilter_dhcpsnoop.c:1348: int tmp = -1, i, rv, n, pollTo;
src/nwfilter/nwfilter_driver.c:468: int got = 0, i;
src/nwfilter/nwfilter_ebiptables_driver.c:3673: int rc = 0, i;
src/parallels/parallels_network.c:366: int nactive = 0, i;
src/parallels/parallels_network.c:386: int got = 0, i;
src/parallels/parallels_network.c:413: int ninactive = 0, i;
src/parallels/parallels_network.c:433: int got = 0, i;
src/qemu/qemu_command.c:7590: int vlan = i;
src/qemu/qemu_driver.c:9011: int ret = -1, i;
src/qemu/qemu_driver.c:12235: int idx = i;
src/security/security_stack.c:518: int len = 0, i = 0;
src/storage/storage_backend.c:1541: int maxReg = 0, i, j;
src/storage/storage_driver.c:369: int got = 0, i;
src/storage/storage_driver.c:427: int got = 0, i;
src/storage/storage_driver.c:1165: int ret = -1, i;
src/test/test_driver.c:2791: int ret = -1, i;
src/test/test_driver.c:3009: int numActive = 0, i;
src/test/test_driver.c:3025: int n = 0, i;
src/test/test_driver.c:3051: int numInactive = 0, i;
src/test/test_driver.c:3067: int n = 0, i;
src/test/test_driver.c:3495: int n = 0, i;
src/test/test_driver.c:3541: int n = 0, i;
src/test/test_driver.c:3967: int numActive = 0, i;
src/test/test_driver.c:3983: int n = 0, i;
src/test/test_driver.c:4010: int numInactive = 0, i;
src/test/test_driver.c:4029: int n = 0, i;
src/util/vircommand.c:395: int null = -1, i, openmax;
src/util/virnetdev.c:1098: int ret = -1, i;
src/util/virpci.c:2521: int ret = -1, i;
src/util/virsocketaddr.c:590: int ret = 0, i;
src/xen/xen_driver.c:2462: int ret = -1, i;
src/xen/xen_hypervisor.c:2601: int maxids = 100, nids, i, id;
src/xenapi/xenapi_driver.c:1227: int nvcpus = 0, i;
src/xenapi/xenapi_driver.c:1608: int DomNum = 0, i;
src/xenxs/xen_sxpr.c:2207: int hvm = 0, i, vmlocaltime = -1;
src/xenxs/xen_xm.c:1512: int hvm = 0, i, vmlocaltime = 0;
tests/testutils.c:287: int tmpfd = i;
I won't re-post the entire series since it is horrible to review. I'll
send some incremental patches for review which I'll squash in.
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|