add gcc4 fixes, remove the NEC FC20X2JA driver patch from lcd4linux temporary
[openwrt/staging/dedeckeh.git] / openwrt / package / ebtables / patches / ebtables-2.0.6-gcc4.patch
diff --git a/openwrt/package/ebtables/patches/ebtables-2.0.6-gcc4.patch b/openwrt/package/ebtables/patches/ebtables-2.0.6-gcc4.patch
new file mode 100644 (file)
index 0000000..cf64aed
--- /dev/null
@@ -0,0 +1,116 @@
+# --- T2-COPYRIGHT-NOTE-BEGIN ---
+# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+# 
+# T2 SDE: package/.../ebtables/gcc4.patch
+# Copyright (C) 2004 - 2005 The T2 SDE Project
+# 
+# More information can be found in the files COPYING and README.
+# 
+# This patch file is dual-licensed. It is available under the license the
+# patched project is licensed under, as long as it is an OpenSource license
+# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
+# of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+# --- T2-COPYRIGHT-NOTE-END ---
+diff -Nur ebtables-v2.0.6.orig/extensions/ebt_ip.c ebtables-v2.0.6/extensions/ebt_ip.c
+--- ebtables-v2.0.6.orig/extensions/ebt_ip.c   2003-11-02 20:22:56.000000000 +0200
++++ ebtables-v2.0.6/extensions/ebt_ip.c        2005-11-01 18:48:56.000000000 +0200
+@@ -244,6 +244,7 @@
+       struct ebt_ip_info *ipinfo = (struct ebt_ip_info *)(*match)->data;
+       char *end;
+       long int i;
++      unsigned char j;
+       switch (c) {
+       case IP_SOURCE:
+@@ -313,7 +314,7 @@
+                       ipinfo->invflags |= EBT_IP_PROTO;
+               if (optind > argc)
+                       print_error("Missing IP protocol argument");
+-              (unsigned char) i = strtoul(argv[optind - 1], &end, 10);
++              j = strtoul(argv[optind - 1], &end, 10);
+               if (*end != '\0') {
+                       struct protoent *pe;
+@@ -324,7 +325,7 @@
+                                    argv[optind - 1]);
+                       ipinfo->protocol = pe->p_proto;
+               } else {
+-                      ipinfo->protocol = (unsigned char) i;
++                      ipinfo->protocol = j;
+               }
+               ipinfo->bitmask |= EBT_IP_PROTO;
+               break;
+diff -Nur ebtables-v2.0.6.orig/extensions/ebt_limit.c ebtables-v2.0.6/extensions/ebt_limit.c
+--- ebtables-v2.0.6.orig/extensions/ebt_limit.c        2003-11-02 20:22:56.000000000 +0200
++++ ebtables-v2.0.6/extensions/ebt_limit.c     2005-11-01 18:48:56.000000000 +0200
+@@ -203,15 +203,15 @@
+ static struct ebt_u_match limit_match =
+ {
+-      .name           EBT_LIMIT_MATCH,
+-      .size           sizeof(struct ebt_limit_info),
+-      .help           print_help,
+-      .init           init,
+-      .parse          parse,
+-      .final_check    final_check,
+-      .print          print,
+-      .compare        compare,
+-      .extra_ops      opts,
++      .name   =       EBT_LIMIT_MATCH,
++      .size   =       sizeof(struct ebt_limit_info),
++      .help   =       print_help,
++      .init   =       init,
++      .parse  =       parse,
++      .final_check =  final_check,
++      .print  =       print,
++      .compare =      compare,
++      .extra_ops =    opts,
+ };
+ static void _init(void) __attribute((constructor));
+diff -Nur ebtables-v2.0.6.orig/extensions/ebt_vlan.c ebtables-v2.0.6/extensions/ebt_vlan.c
+--- ebtables-v2.0.6.orig/extensions/ebt_vlan.c 2003-11-02 20:22:56.000000000 +0200
++++ ebtables-v2.0.6/extensions/ebt_vlan.c      2005-11-01 18:48:56.000000000 +0200
+@@ -135,14 +135,16 @@
+           (struct ebt_vlan_info *) (*match)->data;
+       char *end;
+       struct ebt_vlan_info local;
++      unsigned short id, encap;
++      unsigned char prio;
+       switch (c) {
+       case VLAN_ID:
+               check_option(flags, OPT_VLAN_ID);
+               CHECK_INV_FLAG(EBT_VLAN_ID);
+               CHECK_IF_MISSING_VALUE;
+-              (unsigned short) local.id =
+-                  strtoul(argv[optind - 1], &end, 10);
++              id = strtoul(argv[optind - 1], &end, 10);
++              local.id = (uint16_t) id;
+               CHECK_RANGE(local.id > 4094 || *end != '\0');
+               vlaninfo->id = local.id;
+               SET_BITMASK(EBT_VLAN_ID);
+@@ -152,8 +154,8 @@
+               check_option(flags, OPT_VLAN_PRIO);
+               CHECK_INV_FLAG(EBT_VLAN_PRIO);
+               CHECK_IF_MISSING_VALUE;
+-              (unsigned char) local.prio =
+-                  strtoul(argv[optind - 1], &end, 10);
++              prio = strtoul(argv[optind - 1], &end, 10);
++              local.prio = (uint8_t) prio;
+               CHECK_RANGE(local.prio >= 8 || *end != '\0');
+               vlaninfo->prio = local.prio;
+               SET_BITMASK(EBT_VLAN_PRIO);
+@@ -163,8 +165,8 @@
+               check_option(flags, OPT_VLAN_ENCAP);
+               CHECK_INV_FLAG(EBT_VLAN_ENCAP);
+               CHECK_IF_MISSING_VALUE;
+-              (unsigned short) local.encap =
+-                  strtoul(argv[optind - 1], &end, 16);
++              encap = strtoul(argv[optind - 1], &end, 16);
++              local.encap = (uint16_t) encap;
+               if (*end != '\0') {
+                       ethent = getethertypebyname(argv[optind - 1]);
+                       if (ethent == NULL)