add gcc4 fixes, remove the NEC FC20X2JA driver patch from lcd4linux temporary
authorImre Kaloz <kaloz@openwrt.org>
Sun, 29 Jan 2006 20:02:22 +0000 (20:02 +0000)
committerImre Kaloz <kaloz@openwrt.org>
Sun, 29 Jan 2006 20:02:22 +0000 (20:02 +0000)
SVN-Revision: 3066

openwrt/package/cyrus-sasl/patches/cyrus-sasl-2.1.20-gcc4.patch [new file with mode: 0644]
openwrt/package/ebtables/patches/ebtables-2.0.6-gcc4.patch [new file with mode: 0644]
openwrt/package/l2tpd/patches/04-gcc4.patch [new file with mode: 0644]
openwrt/package/lcd4linux/Makefile
openwrt/package/lcd4linux/patches/130-nec_fc.patch [deleted file]
openwrt/package/libupnp/patches/libupnp-1.2.1a-gcc4.patch [new file with mode: 0644]
openwrt/package/libvorbis/patches/libvorbis-1.1.1-gcc4-1.patch [new file with mode: 0644]
openwrt/package/ulogd/patches/ulogd-1.23-gcc4.patch [new file with mode: 0644]
openwrt/package/xinetd/patches/xinetd-2.3.13-gcc4-1.patch [new file with mode: 0644]

diff --git a/openwrt/package/cyrus-sasl/patches/cyrus-sasl-2.1.20-gcc4.patch b/openwrt/package/cyrus-sasl/patches/cyrus-sasl-2.1.20-gcc4.patch
new file mode 100644 (file)
index 0000000..118b5a4
--- /dev/null
@@ -0,0 +1,11 @@
+--- cyrus-sasl-2.1.20/lib/client.c~    2003-11-11 11:26:06.000000000 -0500
++++ cyrus-sasl-2.1.20/lib/client.c     2005-05-31 22:34:14.000000000 -0400
+@@ -61,7 +61,7 @@
+ static cmech_list_t *cmechlist; /* global var which holds the list */
+-static sasl_global_callbacks_t global_callbacks;
++sasl_global_callbacks_t global_callbacks;
+ static int _sasl_client_active = 0;
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)
diff --git a/openwrt/package/l2tpd/patches/04-gcc4.patch b/openwrt/package/l2tpd/patches/04-gcc4.patch
new file mode 100644 (file)
index 0000000..c4a906e
--- /dev/null
@@ -0,0 +1,12 @@
+diff -urN ../tmp-orig/l2tpd-0.70-pre20031121/aaa.c ./aaa.c
+--- ../tmp-orig/l2tpd-0.70-pre20031121/aaa.c   2004-12-09 09:54:10.159417376 +0100
++++ ./aaa.c    2004-12-09 09:54:01.918670160 +0100
+@@ -27,7 +27,7 @@
+ /* FIXME: Accounting? */
+-static struct addr_ent *uaddr[ADDR_HASH_SIZE];
++struct addr_ent *uaddr[ADDR_HASH_SIZE];
+ void init_addr ()
+ {
index 0d56a62..4171521 100644 (file)
@@ -3,15 +3,15 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lcd4linux
-PKG_VERSION:=0.10.0
+PKG_VERSION:=0.10.0+cvs20051015
 PKG_RELEASE:=1
-PKG_MD5SUM:=b7fb1c24b940482cd730cf212d1b5062
+PKG_MD5SUM:=5b5ac629be4bb5c29104fb8f6b7fa444
 
-PKG_SOURCE_URL:=@SF/lcd4linux
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/main/l/lcd4linux/
+PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.gz
 PKG_CAT:=zcat
 
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION).orig
 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
 
 include $(TOPDIR)/package/rules.mk
diff --git a/openwrt/package/lcd4linux/patches/130-nec_fc.patch b/openwrt/package/lcd4linux/patches/130-nec_fc.patch
deleted file mode 100644 (file)
index be8882c..0000000
+++ /dev/null
@@ -1,435 +0,0 @@
-diff -urN lcd4linux.old/Makefile.in lcd4linux.dev/Makefile.in
---- lcd4linux.old/Makefile.in  2006-01-20 03:52:18.414424750 +0100
-+++ lcd4linux.dev/Makefile.in  2006-01-20 07:59:02.782678750 +0100
-@@ -104,7 +104,7 @@
- lcd4linux_SOURCES =  lcd4linux.c                 cfg.c         cfg.h         debug.c       debug.h       drv.c         drv.h         evaluator.c   evaluator.h   hash.c        hash.h        layout.c      layout.h      pid.c         pid.h         timer.c       timer.h       thread.c      thread.h      udelay.c      udelay.h      qprintf.c     qprintf.h                                 widget.c      widget.h      widget_text.c widget_text.h widget_bar.c  widget_bar.h  widget_icon.c widget_icon.h                             plugin.c      plugin.h      plugin_cfg.c                plugin_math.c               plugin_string.c             plugin_test.c               plugin_time.c
--EXTRA_lcd4linux_SOURCES =  drv_generic_text.c          drv_generic_text.h          drv_generic_graphic.c       drv_generic_graphic.h       drv_generic_serial.c        drv_generic_serial.h        drv_generic_parport.c       drv_generic_parport.h       drv_generic_i2c.c           drv_generic_i2c.h           drv_BeckmannEgle.c          drv_BWCT.c                  drv_Crystalfontz.c          drv_Curses.c                drv_Cwlinux.c               drv_HD44780.c               drv_Image.c                 drv_LCDLinux.c              drv_LCDLinux.h              drv_LCDTerm.c               drv_M50530.c                drv_MatrixOrbital.c         drv_MilfordInstruments.c    drv_Noritake.c              drv_NULL.c                  drv_RouterBoard.c           drv_serdisplib.c            drv_SimpleLCD.c             drv_T6963.c                 drv_Trefon.c                drv_USBLCD.c                drv_X11.c                                               font_6x8.h                                              lcd4linux_i2c.h                                         plugin_apm.c                plugin_cpuinfo.c            plugin_diskstats.c          plugin_dvb.c                plugin_exec.c               plugin_i2c_sensors.c        plugin_imon.c               plugin_isdn.c               plugin_loadavg.c            plugin_meminfo.c            plugin_mysql.c              plugin_netdev.c             plugin_pop3.c               plugin_ppp.c                plugin_proc_stat.c          plugin_python.c             plugin_seti.c               plugin_statfs.c             plugin_uname.c              plugin_uptime.c             plugin_wireless.c           plugin_xmms.c
-+EXTRA_lcd4linux_SOURCES =  drv_generic_text.c          drv_generic_text.h          drv_generic_graphic.c       drv_generic_graphic.h       drv_generic_serial.c        drv_generic_serial.h        drv_generic_parport.c       drv_generic_parport.h       drv_generic_i2c.c           drv_generic_i2c.h           drv_BeckmannEgle.c          drv_BWCT.c                  drv_Crystalfontz.c          drv_Curses.c                drv_Cwlinux.c               drv_HD44780.c               drv_Image.c                 drv_LCDLinux.c              drv_LCDLinux.h              drv_LCDTerm.c               drv_M50530.c                drv_MatrixOrbital.c          drv_FC-NEC.c             drv_MilfordInstruments.c    drv_Noritake.c              drv_NULL.c                  drv_RouterBoard.c           drv_serdisplib.c            drv_SimpleLCD.c             drv_T6963.c                 drv_Trefon.c                drv_USBLCD.c                drv_X11.c                                               font_6x8.h                                              lcd4linux_i2c.h                                         plugin_apm.c                plugin_cpuinfo.c            plugin_diskstats.c          plugin_dvb.c                plugin_exec.c               plugin_i2c_sensors.c        plugin_imon.c               plugin_isdn.c               plugin_loadavg.c            plugin_meminfo.c            plugin_mysql.c              plugin_netdev.c             plugin_pop3.c               plugin_ppp.c                plugin_proc_stat.c          plugin_python.c             plugin_seti.c               plugin_statfs.c             plugin_uname.c              plugin_uptime.c             plugin_wireless.c           plugin_xmms.c
- EXTRA_DIST =  lcd4linux.conf.sample       lcd4kde.conf                lcd4linux.kdelnk            lcd4linux.xpm               lcd4linux.lsm               curses.m4                   AUTHORS                     CREDITS                     FAQ                         NEWS                        TODO                        README                      README.Drivers              README.Plugins              README.KDE                  plugin_sample.c
-@@ -362,6 +362,9 @@
- drv_M50530.o: drv_M50530.c config.h debug.h cfg.h qprintf.h udelay.h \
-       plugin.h evaluator.h widget.h widget_text.h widget_icon.h \
-       widget_bar.h drv.h drv_generic_text.h drv_generic_parport.h
-+drv_NEC-FC.o: drv_NEC-FC.c config.h debug.h cfg.h plugin.h \
-+      evaluator.h widget.h widget_text.h widget_icon.h widget_bar.h \
-+      drv.h drv_generic_text.h drv_generic_serial.h
- drv_MatrixOrbital.o: drv_MatrixOrbital.c config.h debug.h cfg.h plugin.h \
-       evaluator.h widget.h widget_text.h widget_icon.h widget_bar.h \
-       drv.h drv_generic_text.h drv_generic_serial.h
-diff -urN lcd4linux.old/config.h.in lcd4linux.dev/config.h.in
---- lcd4linux.old/config.h.in  2006-01-20 03:52:18.418423000 +0100
-+++ lcd4linux.dev/config.h.in  2006-01-20 08:01:07.332164500 +0100
-@@ -368,6 +368,9 @@
- /* MatrixOrbital driver */
- #undef WITH_MATRIXORBITAL
-+/* NEC-FC driver */
-+#undef WITH_NEC_FC
-+
- /* Milford Instruments driver */
- #undef WITH_MILINST
-diff -urN lcd4linux.old/configure lcd4linux.dev/configure
---- lcd4linux.old/configure    2006-01-20 03:52:18.418423000 +0100
-+++ lcd4linux.dev/configure    2006-01-20 08:00:27.973391500 +0100
-@@ -872,7 +872,7 @@
-                           HD44780, LCDLinux, LCDTerm, M50530, MatrixOrbital,
-                           MilfordInstruments, Noritake, NULL, PNG, PPM,
-                           RouterBoard, serdisplib, SimpleLCD, T6963, Trefon,
--                          USBLCD, X11
-+                          USBLCD, X11, NEC-FC
-   --with-plugins=<list>   choose which plugins to compile.
-                           type --with-plugins=list for a list
-                           of avaible plugins
-@@ -5888,6 +5888,7 @@
-          LCDTERM="yes"
-          M50530="yes"
-          MATRIXORBITAL="yes"
-+         NEC_FC="yes"
-          MILINST="yes"
-          NORITAKE="yes"
-          NULL="yes"
-@@ -5930,6 +5931,9 @@
-          ;;
-       MatrixOrbital)
-          MATRIXORBITAL=$val
-+               ;;
-+      NEC-FC)
-+         NEC_FC=$val
-          ;;
-       MilfordInstruments)
-          MILINST=$val
-@@ -6109,6 +6113,16 @@
- fi
-+if test "$NEC_FC" = "yes"; then
-+   SERIAL="yes"
-+   DRIVERS="$DRIVERS drv_NEC-FC.o"
-+
-+cat >>confdefs.h <<\_ACEOF
-+#define WITH_NEC_FC 1
-+_ACEOF
-+
-+fi
-+
- if test "$MILINST" = "yes"; then
-    DRIVERS="$DRIVERS drv_MilfordInstruments.o"
-diff -urN lcd4linux.old/drv.c lcd4linux.dev/drv.c
---- lcd4linux.old/drv.c        2006-01-20 03:52:18.422421250 +0100
-+++ lcd4linux.dev/drv.c        2006-01-20 08:02:30.895589500 +0100
-@@ -207,6 +207,7 @@
- extern DRIVER drv_LCDLinux;
- extern DRIVER drv_LCDTerm;
- extern DRIVER drv_M50530;
-+extern DRIVER drv_NEC_FC;
- extern DRIVER drv_MatrixOrbital;
- extern DRIVER drv_MilfordInstruments;
- extern DRIVER drv_Noritake;
-@@ -259,6 +260,9 @@
- #ifdef WITH_MATRIXORBITAL
-     &drv_MatrixOrbital,
- #endif
-+#ifdef WITH_NEC_FC
-+    &drv_NEC_FC,
-+#endif
- #ifdef WITH_MILINST
-     &drv_MilfordInstruments,
- #endif
-diff -urN lcd4linux.old/drv_NEC-FC.c lcd4linux.dev/drv_NEC-FC.c
---- lcd4linux.old/drv_NEC-FC.c 1970-01-01 01:00:00.000000000 +0100
-+++ lcd4linux.dev/drv_NEC-FC.c 2006-01-20 09:32:19.632985000 +0100
-@@ -0,0 +1,328 @@
-+/* $Id$
-+ *
-+ * Driver for NEC FC20X2JA
-+ * Copyright (C) 2006, Felix Fietkau <nbd@openwrt.org>
-+ *
-+ * Based on MatrixOrbital driver
-+ *
-+ * LCD4Linux is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2, or (at your option)
-+ * any later version.
-+ *
-+ * LCD4Linux is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+ *
-+ */
-+
-+/* 
-+ *
-+ * exported fuctions:
-+ *
-+ * struct DRIVER drv_NEC_FC_
-+ *
-+ */
-+
-+#include "config.h"
-+
-+#include <stdlib.h>
-+#include <stdio.h>
-+#include <string.h>
-+#include <unistd.h>
-+
-+#include "debug.h"
-+#include "cfg.h"
-+#include "plugin.h"
-+#include "widget.h"
-+#include "widget_text.h"
-+#include "widget_icon.h"
-+#include "widget_bar.h"
-+#include "drv.h"
-+#include "drv_generic_text.h"
-+#include "drv_generic_serial.h"
-+
-+
-+static char Name[] = "NEC-FC";
-+static int cur_pos = 0;
-+static int Model;
-+static int Protocol;
-+
-+/* Fixme: GPO's not yet implemented */
-+/* static int GPO[8]; */
-+static int GPOS;
-+
-+
-+typedef struct {
-+    int type;
-+    char *name;
-+    int rows;
-+    int cols;
-+    int gpos;
-+    int protocol;
-+} MODEL;
-+
-+/* Fixme #1: number of gpo's should be verified */
-+/* Fixme #2: protocol should be verified */
-+
-+static MODEL Models[] = {
-+    {0x01, "FC20X2JA", 2, 20, 0, 1},
-+    {0xff, "Unknown", -1, -1, 0, 0}
-+};
-+
-+
-+/****************************************/
-+/***  hardware dependant functions    ***/
-+/****************************************/
-+
-+static void drv_FC_clear(void)
-+{
-+      drv_generic_serial_write("\014", 1);    /* Clear Screen */
-+      cur_pos = 0;
-+}
-+
-+
-+static void drv_FC_write(const int row, const int col, const char *data, const int len)
-+{
-+      int i;
-+      int target = (row * DCOLS) + col;
-+      target -= cur_pos;
-+      char *buf;
-+
-+      buf = malloc(len + 1);
-+      memcpy(buf, data, len);
-+      buf[len] = 0;
-+
-+      if (target < 0)
-+              for (i = 0; i < -target; i++)
-+              drv_generic_serial_write("\x08", 1);
-+      else
-+              for (i = 0; i < target; i++)
-+                  drv_generic_serial_write("\x09", 1);
-+      
-+      cur_pos += target + len;
-+      if (cur_pos >= (DROWS * DCOLS))
-+              cur_pos = 0;
-+
-+    drv_generic_serial_write(data, len);
-+}
-+
-+
-+static void drv_FC_defchar(const int ascii, const unsigned char *matrix)
-+{
-+    int i;
-+    char cmd[11] = "\x1aN";
-+
-+    cmd[2] = (char) ascii;
-+    for (i = 0; i < 8; i++) {
-+      cmd[i + 3] = matrix[i] & 0x1f;
-+    }
-+    drv_generic_serial_write(cmd, 11);
-+}
-+
-+
-+static int drv_FC_contrast(int contrast)
-+{
-+      char c = (char) contrast;
-+      c >>= 6;
-+      c &= 2;
-+      c = 4 - c;
-+
-+    drv_generic_serial_write(&c, 1);
-+    return contrast;
-+}
-+
-+
-+static int drv_FC_start(const char *section, const int quiet)
-+{
-+    int i;
-+    char *model;
-+    char buffer[256];
-+
-+    model = cfg_get(section, "Model", NULL);
-+    if (model != NULL && *model != '\0') {
-+      for (i = 0; Models[i].type != 0xff; i++) {
-+          if (strcasecmp(Models[i].name, model) == 0)
-+              break;
-+      }
-+      if (Models[i].type == 0xff) {
-+          error("%s: %s.Model '%s' is unknown from %s", Name, section, model, cfg_source());
-+          return -1;
-+      }
-+      Model = i;
-+      info("%s: using model '%s'", Name, Models[Model].name);
-+    } else {
-+      info("%s: no '%s.Model' entry from %s, auto-dedecting", Name, section, cfg_source());
-+      Model = -1;
-+    }
-+
-+
-+    if (drv_generic_serial_open(section, Name, 0) < 0)
-+      return -1;
-+
-+    /* initialize global variables */
-+    DROWS = Models[Model].rows;
-+    DCOLS = Models[Model].cols;
-+    GPOS = Models[Model].gpos;
-+    Protocol = Models[Model].protocol;
-+
-+    drv_FC_clear();
-+
-+    drv_generic_serial_write("\x01", 1);      /* 100% lum */
-+    drv_generic_serial_write("\x14", 1);      /* cursor on */
-+    drv_generic_serial_write("\x11", 1);    /* scroll write */
-+
-+    /* set contrast */
-+    if (cfg_number(section, "Contrast", 0, 0, 255, &i) > 0) {
-+      drv_FC_contrast(i);
-+    }
-+
-+    return 0;
-+}
-+
-+
-+/****************************************/
-+/***            plugins               ***/
-+/****************************************/
-+
-+
-+static void plugin_contrast(RESULT * result, const int argc, RESULT * argv[])
-+{
-+    double contrast;
-+
-+    switch (argc) {
-+    case 0:
-+      contrast = drv_FC_contrast(-1);
-+      SetResult(&result, R_NUMBER, &contrast);
-+      break;
-+    case 1:
-+      contrast = drv_FC_contrast(R2N(argv[0]));
-+      SetResult(&result, R_NUMBER, &contrast);
-+      break;
-+    default:
-+      error("%s::contrast(): wrong number of parameters", Name);
-+      SetResult(&result, R_STRING, "");
-+    }
-+}
-+
-+
-+
-+/****************************************/
-+/***        widget callbacks          ***/
-+/****************************************/
-+
-+/* using drv_generic_text_draw(W) */
-+/* using drv_generic_text_icon_draw(W) */
-+/* using drv_generic_text_bar_draw(W) */
-+
-+
-+/****************************************/
-+/***        exported functions        ***/
-+/****************************************/
-+
-+
-+/* list models */
-+int drv_FC_list(void)
-+{
-+    int i;
-+
-+    for (i = 0; Models[i].type != 0xff; i++) {
-+      printf("%s ", Models[i].name);
-+    }
-+    return 0;
-+}
-+
-+
-+/* initialize driver & display */
-+int drv_FC_init(const char *section, const int quiet)
-+{
-+    WIDGET_CLASS wc;
-+    int ret;
-+
-+    /* display preferences */
-+    XRES = 5;                 /* pixel width of one char  */
-+    YRES = 8;                 /* pixel height of one char  */
-+    CHARS = 8;                        /* number of user-defineable characters */
-+    CHAR0 = 0;                        /* ASCII of first user-defineable char */
-+    GOTO_COST = 4;            /* number of bytes a goto command requires */
-+
-+    /* real worker functions */
-+    drv_generic_text_real_write = drv_FC_write;
-+    drv_generic_text_real_defchar = drv_FC_defchar;
-+
-+
-+    /* start display */
-+    if ((ret = drv_FC_start(section, quiet)) != 0)
-+      return ret;
-+
-+    /* initialize generic text driver */
-+    if ((ret = drv_generic_text_init(section, Name)) != 0)
-+      return ret;
-+
-+    /* initialize generic icon driver */
-+    if ((ret = drv_generic_text_icon_init()) != 0)
-+      return ret;
-+
-+    /* initialize generic bar driver */
-+    if ((ret = drv_generic_text_bar_init(0)) != 0)
-+      return ret;
-+
-+    /* add fixed chars to the bar driver */
-+    drv_generic_text_bar_add_segment(0, 0, 255, 32);  /* ASCII  32 = blank */
-+    drv_generic_text_bar_add_segment(255, 255, 255, 255);     /* ASCII 255 = block */
-+
-+    /* register text widget */
-+    wc = Widget_Text;
-+    wc.draw = drv_generic_text_draw;
-+    widget_register(&wc);
-+
-+    /* register icon widget */
-+    wc = Widget_Icon;
-+    wc.draw = drv_generic_text_icon_draw;
-+    widget_register(&wc);
-+
-+    /* register bar widget */
-+    wc = Widget_Bar;
-+    wc.draw = drv_generic_text_bar_draw;
-+    widget_register(&wc);
-+
-+    /* register plugins */
-+    AddFunction("LCD::contrast", -1, plugin_contrast);
-+
-+    return 0;
-+}
-+
-+
-+/* close driver & display */
-+int drv_FC_quit(const int quiet)
-+{
-+
-+    info("%s: shutting down.", Name);
-+
-+    drv_generic_text_quit();
-+
-+    /* clear display */
-+    drv_FC_clear();
-+
-+    /* say goodbye... */
-+    if (!quiet) {
-+      drv_generic_text_greet("goodbye!", NULL);
-+    }
-+
-+    drv_generic_serial_close();
-+
-+    return (0);
-+}
-+
-+
-+DRIVER drv_NEC_FC = {
-+  name:Name,
-+  list:drv_FC_list,
-+  init:drv_FC_init,
-+  quit:drv_FC_quit,
-+};
diff --git a/openwrt/package/libupnp/patches/libupnp-1.2.1a-gcc4.patch b/openwrt/package/libupnp/patches/libupnp-1.2.1a-gcc4.patch
new file mode 100644 (file)
index 0000000..2ea3f88
--- /dev/null
@@ -0,0 +1,17 @@
+Index: libupnp-1.2.1a/ixml/src/element.c
+===================================================================
+--- libupnp-1.2.1a.orig/ixml/src/element.c
++++ libupnp-1.2.1a/ixml/src/element.c
+@@ -454,9 +454,9 @@ ixmlElement_removeAttributeNode( IN IXML
+             element->n.firstAttr = nextSib;
+         }
+-        ( IXML_Attr * ) attrNode->parentNode = NULL;
+-        ( IXML_Attr * ) attrNode->prevSibling = NULL;
+-        ( IXML_Attr * ) attrNode->nextSibling = NULL;
++        attrNode->parentNode = NULL;
++        attrNode->prevSibling = NULL;
++        attrNode->nextSibling = NULL;
+         *rtAttr = ( IXML_Attr * ) attrNode;
+         return IXML_SUCCESS;
diff --git a/openwrt/package/libvorbis/patches/libvorbis-1.1.1-gcc4-1.patch b/openwrt/package/libvorbis/patches/libvorbis-1.1.1-gcc4-1.patch
new file mode 100644 (file)
index 0000000..480172f
--- /dev/null
@@ -0,0 +1,60 @@
+Submitted By: Steffen Knollmann <sknolli at astro.physik.uni-goettingen.de>
+Date: 2005-11-09
+Initial Package Version: 1.1.1
+Upstream Status: From Upstream
+Origin: msmith, courtesy of upstream SVN
+Description: Fixes an optimization problem with gcc-4.0.x that results in
+             dysfunctional library that will produce bigger encoded files
+             with a poor audio quality. Detailed description at:
+             http://trac.xiph.org/cgi-bin/trac.cgi/ticket/583
+
+$LastChangedBy: randy $
+$Date: 2005-11-18 08:12:42 -0700 (Fri, 18 Nov 2005) $
+
+
+--- libvorbis-1.1.1/lib/scales.h       (revision 9958)
++++ libvorbis-1.1.1/lib/scales.h       (revision 9959)
+@@ -26,20 +26,24 @@
+ #ifdef VORBIS_IEEE_FLOAT32
+ static float unitnorm(float x){
+-  ogg_uint32_t *ix=(ogg_uint32_t *)&x;
+-  *ix=(*ix&0x80000000UL)|(0x3f800000UL);
+-  return(x);
+-}
+-
+-static float FABS(float *x){
+-  ogg_uint32_t *ix=(ogg_uint32_t *)x;
+-  *ix&=0x7fffffffUL;
+-  return(*x);
++  union {
++    ogg_uint32_t i;
++    float f;
++  } ix;
++  ix.f = x;
++  ix.i = (ix.i & 0x80000000U) | (0x3f800000U);
++  return ix.f;
+ }
+ /* Segher was off (too high) by ~ .3 decibel.  Center the conversion correctly. */
+ static float todB(const float *x){
+-  return (float)((*(ogg_int32_t *)x)&0x7fffffff) * 7.17711438e-7f -764.6161886f;
++  union {
++    ogg_uint32_t i;
++    float f;
++  } ix;
++  ix.f = *x;
++  ix.i = ix.i&0x7fffffff;
++  return (float)(ix.i * 7.17711438e-7f -764.6161886f);
+ }
+ #define todB_nn(x) todB(x)
+@@ -51,8 +55,6 @@
+   return(1.f);
+ }
+-#define FABS(x) fabs(*(x))
+-
+ #define todB(x)   (*(x)==0?-400.f:log(*(x)**(x))*4.34294480f)
+ #define todB_nn(x)   (*(x)==0.f?-400.f:log(*(x))*8.6858896f)
+
diff --git a/openwrt/package/ulogd/patches/ulogd-1.23-gcc4.patch b/openwrt/package/ulogd/patches/ulogd-1.23-gcc4.patch
new file mode 100644 (file)
index 0000000..2e2a398
--- /dev/null
@@ -0,0 +1,24 @@
+diff -ur ulogd-1.23/extensions/ulogd_SYSLOG.c ulogd-1.23-owrt/extensions/ulogd_SYSLOG.c
+--- ulogd-1.23/extensions/ulogd_SYSLOG.c       2005-02-12 22:17:41.000000000 +0100
++++ ulogd-1.23-owrt/extensions/ulogd_SYSLOG.c  2006-01-29 19:58:43.000000000 +0100
+@@ -136,7 +136,7 @@
+       .name = "syslog", 
+       .init = &syslog_init,
+       .fini = &syslog_fini,
+-      .output &_output_syslog
++      .output = &_output_syslog
+ };
+diff -ur ulogd-1.23/include/ulogd/ulogd.h ulogd-1.23-owrt/include/ulogd/ulogd.h
+--- ulogd-1.23/include/ulogd/ulogd.h   2004-04-25 00:40:54.000000000 +0200
++++ ulogd-1.23-owrt/include/ulogd/ulogd.h      2006-01-29 19:58:40.000000000 +0100
+@@ -56,8 +56,6 @@
+ #define ULOGD_ERROR   7       /* error condition, requires user action */
+ #define ULOGD_FATAL   8       /* fatal, program aborted */
+-extern FILE *logfile;
+-
+ typedef struct ulog_iret {
+       /* next interpreter return (key) in the global list */
+       struct ulog_iret *next;
diff --git a/openwrt/package/xinetd/patches/xinetd-2.3.13-gcc4-1.patch b/openwrt/package/xinetd/patches/xinetd-2.3.13-gcc4-1.patch
new file mode 100644 (file)
index 0000000..49ac327
--- /dev/null
@@ -0,0 +1,33 @@
+Submitted By:            Randy McMurchy <randy_at_linuxfromscratch_dot_org>
+Date:                    2005-08-07
+Initial Package Version: 2.3.13
+Upstream Status:         Not submitted
+Origin:                  Fedora Development CVS
+Description:             Fixes compilation error if using GCC-4.x
+
+
+diff -Naur xinetd-2.3.13-orig/xinetd/service.c xinetd-2.3.13/xinetd/service.c
+--- xinetd-2.3.13-orig/xinetd/service.c        2003-11-16 12:44:10.000000000 +0000
++++ xinetd-2.3.13/xinetd/service.c     2005-08-07 18:37:33.395942648 +0000
+@@ -764,8 +764,8 @@
+                return FAILED;
+             if ( last == NULL ) {
+-               last = SAIN( SVC_LAST_DGRAM_ADDR(sp) ) = 
+-                SAIN( calloc( 1, sizeof(union xsockaddr) ) );
++               SVC_LAST_DGRAM_ADDR(sp) = calloc( 1, sizeof(union xsockaddr) );
++             last = SAIN(SVC_LAST_DGRAM_ADDR(sp));
+             }
+             (void) time( &current_time ) ;
+@@ -791,8 +791,8 @@
+                return FAILED;
+           if( last == NULL ) {
+-               last = SAIN6(SVC_LAST_DGRAM_ADDR(sp)) = 
+-                SAIN6(calloc( 1, sizeof(union xsockaddr) ) );
++               SVC_LAST_DGRAM_ADDR(sp) = calloc( 1, sizeof(union xsockaddr) );
++               last = SAIN6( SVC_LAST_DGRAM_ADDR(sp) );
+             }
+             (void) time( &current_time ) ;