From: Imre Kaloz Date: Sun, 29 Jan 2006 20:02:22 +0000 (+0000) Subject: add gcc4 fixes, remove the NEC FC20X2JA driver patch from lcd4linux temporary X-Git-Tag: reboot~31191 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=dd8eae04cc4c8d453486b9ad7659f35b2d39cf1c;p=openwrt%2Fstaging%2Fxback.git add gcc4 fixes, remove the NEC FC20X2JA driver patch from lcd4linux temporary SVN-Revision: 3066 --- 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 index 0000000000..118b5a4e4f --- /dev/null +++ b/openwrt/package/cyrus-sasl/patches/cyrus-sasl-2.1.20-gcc4.patch @@ -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 index 0000000000..cf64aed3aa --- /dev/null +++ b/openwrt/package/ebtables/patches/ebtables-2.0.6-gcc4.patch @@ -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 index 0000000000..c4a906eace --- /dev/null +++ b/openwrt/package/l2tpd/patches/04-gcc4.patch @@ -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 () + { diff --git a/openwrt/package/lcd4linux/Makefile b/openwrt/package/lcd4linux/Makefile index 0d56a62447..4171521d86 100644 --- a/openwrt/package/lcd4linux/Makefile +++ b/openwrt/package/lcd4linux/Makefile @@ -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 index be8882c109..0000000000 --- a/openwrt/package/lcd4linux/patches/130-nec_fc.patch +++ /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= 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 -+ * -+ * 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 -+#include -+#include -+#include -+ -+#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 index 0000000000..2ea3f88052 --- /dev/null +++ b/openwrt/package/libupnp/patches/libupnp-1.2.1a-gcc4.patch @@ -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 index 0000000000..480172fcf9 --- /dev/null +++ b/openwrt/package/libvorbis/patches/libvorbis-1.1.1-gcc4-1.patch @@ -0,0 +1,60 @@ +Submitted By: Steffen Knollmann +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 index 0000000000..2e2a398f3e --- /dev/null +++ b/openwrt/package/ulogd/patches/ulogd-1.23-gcc4.patch @@ -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 index 0000000000..49ac327bc1 --- /dev/null +++ b/openwrt/package/xinetd/patches/xinetd-2.3.13-gcc4-1.patch @@ -0,0 +1,33 @@ +Submitted By: Randy McMurchy +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( ¤t_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( ¤t_time ) ;