packages: grepcidr/makefile.diff (NEW), grepcidr/find-anywhere.diff (NEW) -...
gotar
gotar at pld-linux.org
Mon Nov 2 18:13:17 CET 2009
Author: gotar Date: Mon Nov 2 17:13:17 2009 GMT
Module: packages Tag: HEAD
---- Log message:
- from http://www.pc-tools.net/unix/grepcidr/contrib-tarreau/ altered not
to conflict with regex.diff
---- Files affected:
packages/grepcidr:
makefile.diff (NONE -> 1.1) (NEW), find-anywhere.diff (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/grepcidr/makefile.diff
diff -u /dev/null packages/grepcidr/makefile.diff:1.1
--- /dev/null Mon Nov 2 18:13:17 2009
+++ packages/grepcidr/makefile.diff Mon Nov 2 18:13:12 2009
@@ -0,0 +1,12 @@
+diff -ru grepcidr-1.3/Makefile grepcidr-1.3-flx0.1/Makefile
+--- grepcidr-1.3/Makefile 2005-04-20 05:19:14.000000000 +0200
++++ grepcidr-1.3-flx0.1/Makefile 2005-06-06 14:57:25.000000000 +0200
+@@ -11,7 +11,7 @@
+
+ # End of settable values
+
+-grepcidr:
++grepcidr: grepcidr.c getopt.c
+ $(CC) $(CFLAGS) -o grepcidr grepcidr.c getopt.c
+
+ all: grepcidr
================================================================
Index: packages/grepcidr/find-anywhere.diff
diff -u /dev/null packages/grepcidr/find-anywhere.diff:1.1
--- /dev/null Mon Nov 2 18:13:17 2009
+++ packages/grepcidr/find-anywhere.diff Mon Nov 2 18:13:12 2009
@@ -0,0 +1,45 @@
+--- ./grepcidr.c.orig 2005-06-06 15:16:09.000000000 +0200
++++ ./grepcidr.c 2005-06-06 15:19:15.000000000 +0200
+@@ -81,13 +81,38 @@
+ Convert IP address string to 32-bit integer version
+ Returns 0 on failure
+ */
+-unsigned int ip_to_uint(const char* ip)
++unsigned int ip_to_uint(char** ip)
+ {
+ unsigned int IP[4]; /* 4 octets for IP address */
+- if ((sscanf(ip, "%u.%u.%u.%u", &IP[0], &IP[1], &IP[2], &IP[3]) == 4) && VALID_IP(IP))
++ char *p = *ip;
++ char *dot;
++
++ while (*p) {
++ while (*p && (*p < '0' || *p > '9'))
++ p++;
++ if (!*p)
++ break;
++
++ /* speedup: check if the first digits are followed by a dot */
++ dot = p + 1;
++ while (*dot >= '0' && *dot <='9')
++ dot++;
++ if (dot > p+3 || *dot != '.') {
++ p = dot;
++ continue;
++ }
++
++ if ((sscanf(p, "%u.%u.%u.%u", &IP[0], &IP[1], &IP[2], &IP[3]) == 4) && VALID_IP(IP)) {
++ /* point to next possible integer */
++ while (*p >= '0' && *p <= '9')
++ p++;
++ *ip = p;
+ return BUILD_IP(IP);
+- else
+- return 0;
++ }
++ p++;
++ }
++ *ip = p;
++ return 0;
+ }
+
+
================================================================
More information about the pld-cvs-commit
mailing list