This patch will allow browsex 1.6.0 to compile on a Fedora Core Three system. Rant: The GCC developers have no place breaking perfectly good code which used to compile fine three years ago. diff -ur browsex.orig/dballoc/dballoc.c browsex/dballoc/dballoc.c --- browsex.orig/dballoc/dballoc.c 2001-06-14 11:13:17.000000000 -0700 +++ browsex/dballoc/dballoc.c 2005-03-08 03:23:09.000000000 -0800 @@ -3,22 +3,21 @@ #include #include "dballoc.h" -static char *help ="DB Alloc: Version 1.0 - Usage: DB_ALLOC=\"N=V,N=V...\" - l, - logfile to write to (default stderr) - i, - interval to check heap for fencepost overwrites (default=0) - f, - fatal. abort on error (default=1) - z, - ignore free null pointers (default=0) - n, - do not actually free memory (default=0) - w, - check for writes to freed if 'n' option is on. (default=1) - b, - bad pointers are chained to real free/realloc (default=0) - x, - set atexit free check routine (default=1) - v, - verbose, show all allocations/frees (default=0) - q, - quiet, don't show warnings (default=0) - z, - zero out freed memory blocks (default=0) - - http://BrowseX.com/dballoc -"; +/* Retarded anal GCC 3.4.2 */ +static char *help ="DB Alloc: Version 1.0\n" +" Usage: DB_ALLOC=\"N=V,N=V...\"\n" +" l, - logfile to write to (default stderr)\n" +" i, - interval to check heap for fencepost overwrites (default=0)\n" +" f, - fatal. abort on error (default=1)\n" +" z, - ignore free null pointers (default=0)\n" +" n, - do not actually free memory (default=0)\n" +" w, - check for writes to freed if 'n' option is on. (default=1)\n" +" b, - bad pointers are chained to real free/realloc (default=0)\n" +" x, - set atexit free check routine (default=1)\n" +" v, - verbose, show all allocations/frees (default=0)\n" +" q, - quiet, don't show warnings (default=0)\n" +" z, - zero out freed memory blocks (default=0)\n" +"\n http://BrowseX.com/dballoc\n"; #define FROMPTR(ptr) (dbst*)(((char*)ptr)-sizeof(dbst)+sizeof(int)-HMEMPAD) #define DBSZ(siz) (sizeof(dbst)-1+siz+HMEMPAD+TMEMPAD) Sólo en browsex/img1.2.4/compat: tclLoadNone.o diff -ur browsex.orig/sqlite/tool/lemon.c browsex/sqlite/tool/lemon.c --- browsex.orig/sqlite/tool/lemon.c 2001-09-15 16:07:32.000000000 -0700 +++ browsex/sqlite/tool/lemon.c 2005-03-08 03:09:42.000000000 -0800 @@ -7,7 +7,7 @@ ** The author of this program disclaims copyright. */ #include -#include +#include #include #include @@ -70,7 +70,7 @@ void Configlist_reset(/* void */); /********* From the file "error.h" ***************************************/ -void ErrorMsg( /* char *, int, char *, ... */ ); +void ErrorMsg( char *start, ... /* char *, int, char *, ... */ ); /****** From the file "option.h" ******************************************/ struct s_options { @@ -1092,8 +1092,7 @@ #define ERRMSGSIZE 10000 /* Hope this is big enough. No way to error check */ #define LINEWIDTH 79 /* Max width of any output line */ #define PREFIXLIMIT 30 /* Max width of the prefix on each line */ -void ErrorMsg(va_alist) -va_dcl +void ErrorMsg(char *start, ...) /* va_dcl */ { char *filename; int lineno; @@ -1106,7 +1105,7 @@ va_list ap; int end, restart, base; - va_start(ap); + va_start(ap, start); filename = va_arg(ap,char*); lineno = va_arg(ap,int); format = va_arg(ap,char*); diff -ur browsex.orig/tcl8.4/unix/tclConfig.sh browsex/tcl8.4/unix/tclConfig.sh --- browsex.orig/tcl8.4/unix/tclConfig.sh 2001-10-06 18:13:29.000000000 -0700 +++ browsex/tcl8.4/unix/tclConfig.sh 2005-03-08 03:52:47.000000000 -0800 @@ -55,11 +55,11 @@ # Top-level directory in which Tcl's platform-independent files are # installed. -TCL_PREFIX='/a/browsex/1.2.5/sn/b/usr' +TCL_PREFIX='/home/set/tech/exploded/bld/usr' # Top-level directory in which Tcl's platform-specific files (e.g. # executables) are installed. -TCL_EXEC_PREFIX='/a/browsex/1.2.5/sn/b/usr' +TCL_EXEC_PREFIX='/home/set/tech/exploded/bld/usr' # Flags to pass to cc when compiling the components of a shared library: TCL_SHLIB_CFLAGS='-fPIC' @@ -110,11 +110,11 @@ # String to pass to linker to pick up the Tcl library from its # build directory. -TCL_BUILD_LIB_SPEC='-L/a/browsex/1.2.5/sn/b/tcl8.4/unix -ltcl8.4${TCL_DBGX}' +TCL_BUILD_LIB_SPEC='-L/home/set/tech/exploded/bld/tcl8.4/unix -ltcl8.4${TCL_DBGX}' # String to pass to linker to pick up the Tcl library from its # installed directory. -TCL_LIB_SPEC='-L/a/browsex/1.2.5/sn/b/usr/lib -ltcl8.4${TCL_DBGX}' +TCL_LIB_SPEC='-L/home/set/tech/exploded/bld/usr/lib -ltcl8.4${TCL_DBGX}' # Indicates whether a version numbers should be used in -l switches # ("ok" means it's safe to use switches like -ltcl7.5; "nodots" means @@ -141,12 +141,12 @@ # different place than the directory containing the source files, this # points to the location of the sources, not the location where Tcl was # compiled. -TCL_SRC_DIR='/a/browsex/1.2.5/sn/browsex/tcl8.4' +TCL_SRC_DIR='/home/set/tech/exploded/browsex/tcl8.4' # List of standard directories in which to look for packages during # "package require" commands. Contains the "prefix" directory plus also # the "exec_prefix" directory, if it is different. -TCL_PACKAGE_PATH='/a/browsex/1.2.5/sn/b/usr/lib' +TCL_PACKAGE_PATH='/home/set/tech/exploded/bld/usr/lib' # Tcl supports stub. TCL_SUPPORTS_STUBS=1 @@ -159,14 +159,14 @@ # String to pass to linker to pick up the Tcl stub library from its # build directory. -TCL_BUILD_STUB_LIB_SPEC='-L/a/browsex/1.2.5/sn/b/tcl8.4/unix -ltclstub8.4${TCL_DBGX}' +TCL_BUILD_STUB_LIB_SPEC='-L/home/set/tech/exploded/bld/tcl8.4/unix -ltclstub8.4${TCL_DBGX}' # String to pass to linker to pick up the Tcl stub library from its # installed directory. -TCL_STUB_LIB_SPEC='-L/a/browsex/1.2.5/sn/b/usr/lib -ltclstub8.4${TCL_DBGX}' +TCL_STUB_LIB_SPEC='-L/home/set/tech/exploded/bld/usr/lib -ltclstub8.4${TCL_DBGX}' # Path to the Tcl stub library in the build directory. -TCL_BUILD_STUB_LIB_PATH='/a/browsex/1.2.5/sn/b/tcl8.4/unix/libtclstub8.4${TCL_DBGX}.a' +TCL_BUILD_STUB_LIB_PATH='/home/set/tech/exploded/bld/tcl8.4/unix/libtclstub8.4${TCL_DBGX}.a' # Path to the Tcl stub library in the install directory. -TCL_STUB_LIB_PATH='/a/browsex/1.2.5/sn/b/usr/lib/libtclstub8.4${TCL_DBGX}.a' +TCL_STUB_LIB_PATH='/home/set/tech/exploded/bld/usr/lib/libtclstub8.4${TCL_DBGX}.a' diff -ur browsex.orig/tkhtml/src/htmlform.c browsex/tkhtml/src/htmlform.c --- browsex.orig/tkhtml/src/htmlform.c 2001-05-15 12:20:45.000000000 -0700 +++ browsex/tkhtml/src/htmlform.c 2005-03-08 02:35:33.000000000 -0800 @@ -443,6 +443,7 @@ case Html_TEXTAREA: case Html_INPUT: case Html_OPTION: + break; /* Stupid anal GCC 3.4.2 */ } } return 0; @@ -514,6 +515,7 @@ htmlPtr->formElemLast->input.subid++; break; default: + break; /* Stupid anal GCC 3.4.2 */ } } diff -ur browsex.orig/tkhtml/src/htmlPs.c browsex/tkhtml/src/htmlPs.c --- browsex.orig/tkhtml/src/htmlPs.c 2001-01-18 17:53:54.000000000 -0800 +++ browsex/tkhtml/src/htmlPs.c 2005-03-08 02:41:25.000000000 -0800 @@ -864,9 +864,9 @@ result = TCL_OK; while (1) { - char *nxtpage = "showpage\n%%%%Page: %d %d\n%%%%BeginPageSetup -/pagelevel save def\n54 0 translate\n%%%%EndPageSetup -newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath\n"; + char *nxtpage = "showpage\n%%%%Page: %d %d\n%%%%BeginPageSetup\n" +"/pagelevel save def\n54 0 translate\n%%%%EndPageSetup\n" +"newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath\n"; for(pB=htmlPtr->firstBlock; pB; pB=pB->pNext){ diff -ur browsex.orig/tkhtml/src/htmlwidget.c browsex/tkhtml/src/htmlwidget.c --- browsex.orig/tkhtml/src/htmlwidget.c 2001-10-01 20:07:28.000000000 -0700 +++ browsex/tkhtml/src/htmlwidget.c 2005-03-08 02:38:37.000000000 -0800 @@ -257,6 +257,7 @@ fprintf(stderr,"Unknown option %s\n",argv[i]); return TCL_ERROR; foundopt: + break; /* Stupid anal GCC 3.4.2 */ } return TCL_OK; } diff -ur browsex.orig/tml/tml.c browsex/tml/tml.c --- browsex.orig/tml/tml.c 2001-06-15 14:17:39.000000000 -0700 +++ browsex/tml/tml.c 2005-03-08 03:18:32.000000000 -0800 @@ -159,23 +159,22 @@ return Tml_Init(interp); } -char *tmlcode = " -proc insert {parm arg} { - if [catch {open $arg r} fp] return - set rc [read $fp] - close $fp - return $rc -} - -# Procedure to read a file via Tcl (ie. honors SafeTcl) -proc FileRead arg { - set fp [open $arg r] - set dat [read $fp] - close $fp - return $dat -} - -"; +/* Retarded anal GCC 3.4.2 and multi-line quotes */ +char *tmlcode = "\n" +"proc insert {parm arg} {\n" +" if [catch {open $arg r} fp] return\n" +" set rc [read $fp]\n" +" close $fp\n" +" return $rc\n" +"}\n" +"\n" +"# Procedure to read a file via Tcl (ie. honors SafeTcl)\n" +"proc FileRead arg {\n" +" set fp [open $arg r]\n" +" set dat [read $fp]\n" +" close $fp\n" +" return $dat\n" +"}\n\n"; /* Copy len chars from p to tml output */ diff -ur browsex.orig/tobe/src/main.c browsex/tobe/src/main.c --- browsex.orig/tobe/src/main.c 2001-05-25 15:08:31.000000000 -0700 +++ browsex/tobe/src/main.c 2005-03-08 03:52:15.000000000 -0800 @@ -47,76 +47,77 @@ "while 1 {vwait forever}" ; -static char *zvfsinitstr= " - -proc ::zvfs_Glob args { - set glob glob.orig - set n 0 - set arg {} - foreach i $args { - switch -- $i { - -directory - -join - -nocomplain - -path - -types - -- { incr n; break } - default break - } - lappend arg $i - incr n - } - set rest [lrange $args $n end] - set l [llength $rest] - set rc {} - foreach i $rest { - set cmd [concat $glob \" \" $arg] - set gr [$glob -nocomplain $i] - if {$gr == {}} { - set gr [::zvfs::list -glob $i] - } - set rc [concat $rc $gr] - } - return $rc -} - -proc ::zvfs_Package args { - set cmd [concat package.orig $args] - if {[info commands ::glob.orig] != {} || [lindex $args 0] != {require}} { - return [uplevel 1 $cmd] - } - rename ::glob ::glob.orig - rename ::zvfs_Glob ::glob - if [catch {uplevel 1 $cmd} rc] { - rename ::glob ::zvfs_Glob - rename ::glob.orig ::glob - error $rc - } - rename ::glob ::zvfs_Glob - rename ::glob.orig ::glob -} - -proc ::zvfs_PkgRestore {} { - rename ::package ::zvfs_Package - rename ::package.orig ::package -} - -proc ::zvfs_PkgSetup {} { - rename ::package ::package.orig - rename ::zvfs_Package ::package -} - -rename ::encoding ::encoding.orig - -proc ::encoding {cmd args} { - if {$cmd != {names}} { - return [eval [concat encoding.orig $cmd $args]] - } - set lst {} - foreach i [zvfs::list $::tcl_library/encoding/*.enc] { - lappend lst [file rootname [file tail $i]] - } - return $lst -} - -::zvfs_PkgSetup -source /zvfs/tcl8.4/msgcat1.2/msgcat.tcl -"; +/* Anal GCC 3.4.2 developers */ +static char *zvfsinitstr= +"\n" +"proc ::zvfs_Glob args {\n" +" set glob glob.orig\n" +" set n 0\n" +" set arg {}\n" +" foreach i $args {\n" +" switch -- $i {\n" +" -directory - -join - -nocomplain - -path - -types - -- { incr n; break }\n" +" default break\n" +" }\n" +" lappend arg $i\n" +" incr n\n" +" }\n" +" set rest [lrange $args $n end]\n" +" set l [llength $rest]\n" +" set rc {}\n" +" foreach i $rest {\n" +" set cmd [concat $glob \" \" $arg]\n" +" set gr [$glob -nocomplain $i]\n" +" if {$gr == {}} {\n" +" set gr [::zvfs::list -glob $i]\n" +" }\n" +" set rc [concat $rc $gr]\n" +" }\n" +" return $rc\n" +"}\n" +"\n" +"proc ::zvfs_Package args {\n" +" set cmd [concat package.orig $args]\n" +" if {[info commands ::glob.orig] != {} || [lindex $args 0] != {require}} {\n" +" return [uplevel 1 $cmd]\n" +" }\n" +" rename ::glob ::glob.orig\n" +" rename ::zvfs_Glob ::glob\n" +" if [catch {uplevel 1 $cmd} rc] {\n" +" rename ::glob ::zvfs_Glob\n" +" rename ::glob.orig ::glob\n" +" error $rc\n" +" }\n" +" rename ::glob ::zvfs_Glob\n" +" rename ::glob.orig ::glob\n" +"}\n" +"\n" +"proc ::zvfs_PkgRestore {} {\n" +" rename ::package ::zvfs_Package\n" +" rename ::package.orig ::package\n" +"}\n" +"\n" +"proc ::zvfs_PkgSetup {} {\n" +" rename ::package ::package.orig\n" +" rename ::zvfs_Package ::package\n" +"}\n" +"\n" +"rename ::encoding ::encoding.orig\n" +"\n" +"proc ::encoding {cmd args} {\n" +" if {$cmd != {names}} {\n" +" return [eval [concat encoding.orig $cmd $args]]\n" +" }\n" +" set lst {}\n" +" foreach i [zvfs::list $::tcl_library/encoding/*.enc] {\n" +" lappend lst [file rootname [file tail $i]]\n" +" }\n" +" return $lst\n" +"}\n" +"\n" +"::zvfs_PkgSetup\n" +"source /zvfs/tcl8.4/msgcat1.2/msgcat.tcl\n" +"\n"; extern void (*Zvfs_PostInit)(Tcl_Interp*); diff -ur browsex.orig/tobe/src/zvfs.c browsex/tobe/src/zvfs.c --- browsex.orig/tobe/src/zvfs.c 2001-01-18 17:53:28.000000000 -0800 +++ browsex/tobe/src/zvfs.c 2005-03-08 03:35:22.000000000 -0800 @@ -35,7 +35,7 @@ ** ** @(#) $Id: zvfs.c,v 1.1.1.1 2001/01/19 01:53:28 peter Exp $ */ -#include "tcl.h" +#include "../../usr/include/tcl.h" #include #include #include