Hello community, here is the log from the commit of package gtkwave for openSUSE:Factory checked in at 2015-07-08 07:00:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gtkwave (Old) and /work/SRC/openSUSE:Factory/.gtkwave.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gtkwave" Changes: -------- --- /work/SRC/openSUSE:Factory/gtkwave/gtkwave.changes 2015-04-16 14:13:47.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.gtkwave.new/gtkwave.changes 2015-07-08 07:00:05.000000000 +0200 @@ -1,0 +2,6 @@ +Tue Jul 7 16:37:08 UTC 2015 - [email protected] + +- Update to version 3.3.66 + * minor changes and bugfixes, see included ChangeLog file for details + +------------------------------------------------------------------- Old: ---- gtkwave-3.3.65.tar.gz New: ---- gtkwave-3.3.66.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gtkwave.spec ++++++ --- /var/tmp/diff_new_pack.V4WywI/_old 2015-07-08 07:00:06.000000000 +0200 +++ /var/tmp/diff_new_pack.V4WywI/_new 2015-07-08 07:00:06.000000000 +0200 @@ -17,7 +17,7 @@ Name: gtkwave -Version: 3.3.65 +Version: 3.3.66 Release: 0 Summary: Waveform viewer for Ditital Signals License: GPL-2.0+ ++++++ gtkwave-3.3.65.tar.gz -> gtkwave-3.3.66.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/ChangeLog new/gtkwave-3.3.66/ChangeLog --- old/gtkwave-3.3.65/ChangeLog 2015-04-01 19:16:12.000000000 +0200 +++ new/gtkwave-3.3.66/ChangeLog 2015-07-05 21:34:33.000000000 +0200 @@ -1505,3 +1505,12 @@ stack overflow crashes. Added support for synthetic clocks in FST file. Update timetrace marking so it runs quicker for large traces. +3.3.66 05jul15 Faster fsdb initialization. + Fix vcd recoder loader crash for malformed vcd if signal is + declared as bits and a real valued change is encountered for + the value change. + Fixed crash in vcd2vzt for vcd files with no value changes + (likely a malformed vcd). + Added fsdbReaderResetSignalList() to prevent signals from + loading over and over when unnecessary. + Compile fixes for renamed functions and defines in gtk osx. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/LICENSE.TXT new/gtkwave-3.3.66/LICENSE.TXT --- old/gtkwave-3.3.65/LICENSE.TXT 2014-12-29 21:10:07.000000000 +0100 +++ new/gtkwave-3.3.66/LICENSE.TXT 2015-07-05 21:35:36.000000000 +0200 @@ -1,6 +1,6 @@ ########################################################################## -GTKWave 3.3.65 Wave Viewer is Copyright (C) 1999-2015 Tony Bybell. +GTKWave 3.3.66 Wave Viewer is Copyright (C) 1999-2015 Tony Bybell. Portions of GTKWave are Copyright (C) 1999-2015 Udi Finkelstein. Context support is Copyright (C) 2007-2015 Kermin Elliott Fleming. Trace group support is Copyright (C) 2009-2015 Donald Baltus. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/configure new/gtkwave-3.3.66/configure --- old/gtkwave-3.3.65/configure 2014-12-05 09:03:31.000000000 +0100 +++ new/gtkwave-3.3.66/configure 2015-07-05 21:34:33.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for gtkwave 3.3.65. +# Generated by GNU Autoconf 2.69 for gtkwave 3.3.66. # # Report bugs to <[email protected]>. # @@ -580,8 +580,8 @@ # Identity of this package. PACKAGE_NAME='gtkwave' PACKAGE_TARNAME='gtkwave' -PACKAGE_VERSION='3.3.65' -PACKAGE_STRING='gtkwave 3.3.65' +PACKAGE_VERSION='3.3.66' +PACKAGE_STRING='gtkwave 3.3.66' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='' @@ -1383,7 +1383,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures gtkwave 3.3.65 to adapt to many kinds of systems. +\`configure' configures gtkwave 3.3.66 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1449,7 +1449,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of gtkwave 3.3.65:";; + short | recursive ) echo "Configuration of gtkwave 3.3.66:";; esac cat <<\_ACEOF @@ -1595,7 +1595,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -gtkwave configure 3.3.65 +gtkwave configure 3.3.66 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2239,7 +2239,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by gtkwave $as_me 3.3.65, which was +It was created by gtkwave $as_me 3.3.66, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3106,7 +3106,7 @@ # Define the identity of the package. PACKAGE='gtkwave' - VERSION='3.3.65' + VERSION='3.3.66' cat >>confdefs.h <<_ACEOF @@ -4197,35 +4197,13 @@ EXTLOAD_CFLAGS= if test "X$FFR" = "Xyes" ; then - as_ac_File=`$as_echo "ac_cv_file_"$FSDBREADER_LIBS/libnffr.so"" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"$FSDBREADER_LIBS/libnffr.so\"" >&5 -$as_echo_n "checking for \"$FSDBREADER_LIBS/libnffr.so\"... " >&6; } -if eval \${$as_ac_File+:} false; then : - $as_echo_n "(cached) " >&6 -else - test "$cross_compiling" = yes && - as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 -if test -r ""$FSDBREADER_LIBS/libnffr.so""; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi -fi -eval ac_res=\$$as_ac_File - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_ac_File"\" = x"yes"; then : - FSDB_SO=yes -else - FSDB_SO=no -fi - - - if test "X$FSDB_SO" = "Xyes" ; then - FSDB_CFLAGS="-DFSDB_IS_PRESENT -I$FSDBREADER_HDRS" - FSDB_LDADD="$FSDBREADER_LIBS/libnffr.so" - EXTLOAD_CFLAGS="-DEXTLOAD_SUFFIX=\\\"fsdb\\\"" - else +# AC_CHECK_FILE("$FSDBREADER_LIBS/libnffr.so", FSDB_SO=yes, FSDB_SO=no) +# +# if test "X$FSDB_SO" = "Xyes" ; then +# FSDB_CFLAGS="-DFSDB_IS_PRESENT -I$FSDBREADER_HDRS" +# FSDB_LDADD="$FSDBREADER_LIBS/libnffr.so" +# EXTLOAD_CFLAGS="-DEXTLOAD_SUFFIX=\\\"fsdb\\\"" +# else as_ac_File=`$as_echo "ac_cv_file_"$FSDBREADER_LIBS/libnffr.a"" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"$FSDBREADER_LIBS/libnffr.a\"" >&5 @@ -4259,37 +4237,15 @@ $as_echo "$as_me: WARNING: FSDB reader library not found, skipping." >&2;} fi - fi +# fi - as_ac_File=`$as_echo "ac_cv_file_"$FSDBREADER_LIBS/libnsys.so"" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"$FSDBREADER_LIBS/libnsys.so\"" >&5 -$as_echo_n "checking for \"$FSDBREADER_LIBS/libnsys.so\"... " >&6; } -if eval \${$as_ac_File+:} false; then : - $as_echo_n "(cached) " >&6 -else - test "$cross_compiling" = yes && - as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 -if test -r ""$FSDBREADER_LIBS/libnsys.so""; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi -fi -eval ac_res=\$$as_ac_File - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_ac_File"\" = x"yes"; then : - AFSDB_SO=yes -else - AFSDB_SO=no -fi - - - if test "X$AFSDB_SO" = "Xyes" ; then - FSDB_CFLAGS="-DFSDB_NSYS_IS_PRESENT $FSDB_CFLAGS" - FSDB_LDADD="$FSDBREADER_LIBS/libnsys.so $FSDB_LDADD" - EXTLOAD_CFLAGS="-DEXTLOAD_SUFFIX=\\\"fsdb\\\"" - else +# AC_CHECK_FILE("$FSDBREADER_LIBS/libnsys.so", AFSDB_SO=yes, AFSDB_SO=no) +# +# if test "X$AFSDB_SO" = "Xyes" ; then +# FSDB_CFLAGS="-DFSDB_NSYS_IS_PRESENT $FSDB_CFLAGS" +# FSDB_LDADD="$FSDBREADER_LIBS/libnsys.so $FSDB_LDADD" +# EXTLOAD_CFLAGS="-DEXTLOAD_SUFFIX=\\\"fsdb\\\"" +# else as_ac_File=`$as_echo "ac_cv_file_"$FSDBREADER_LIBS/libnsys.a"" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"$FSDBREADER_LIBS/libnsys.a\"" >&5 @@ -4326,7 +4282,7 @@ $as_echo "$as_me: WARNING: FSDB system library not found, skipping." >&2;} fi - fi +# fi as_ac_File=`$as_echo "ac_cv_file_"$FSDBREADER_HDRS/ffrAPI.h"" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"$FSDBREADER_HDRS/ffrAPI.h\"" >&5 @@ -7319,12 +7275,12 @@ pkg_cv_GTK_MAC_CFLAGS="$GTK_MAC_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk-mac-integration\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gtk-mac-integration") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk-mac-integration >= 2.0.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gtk-mac-integration >= 2.0.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GTK_MAC_CFLAGS=`$PKG_CONFIG --cflags "gtk-mac-integration" 2>/dev/null` + pkg_cv_GTK_MAC_CFLAGS=`$PKG_CONFIG --cflags "gtk-mac-integration >= 2.0.0" 2>/dev/null` else pkg_failed=yes fi @@ -7335,12 +7291,12 @@ pkg_cv_GTK_MAC_LIBS="$GTK_MAC_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk-mac-integration\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gtk-mac-integration") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk-mac-integration >= 2.0.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gtk-mac-integration >= 2.0.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GTK_MAC_LIBS=`$PKG_CONFIG --libs "gtk-mac-integration" 2>/dev/null` + pkg_cv_GTK_MAC_LIBS=`$PKG_CONFIG --libs "gtk-mac-integration >= 2.0.0" 2>/dev/null` else pkg_failed=yes fi @@ -7358,14 +7314,14 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GTK_MAC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gtk-mac-integration" 2>&1` + GTK_MAC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gtk-mac-integration >= 2.0.0" 2>&1` else - GTK_MAC_PKG_ERRORS=`$PKG_CONFIG --print-errors "gtk-mac-integration" 2>&1` + GTK_MAC_PKG_ERRORS=`$PKG_CONFIG --print-errors "gtk-mac-integration >= 2.0.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTK_MAC_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (gtk-mac-integration) were not met: + as_fn_error $? "Package requirements (gtk-mac-integration >= 2.0.0) were not met: $GTK_MAC_PKG_ERRORS @@ -10992,7 +10948,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by gtkwave $as_me 3.3.65, which was +This file was extended by gtkwave $as_me 3.3.66, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -11058,7 +11014,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -gtkwave config.status 3.3.65 +gtkwave config.status 3.3.66 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/configure.ac new/gtkwave-3.3.66/configure.ac --- old/gtkwave-3.3.65/configure.ac 2014-12-05 09:03:31.000000000 +0100 +++ new/gtkwave-3.3.66/configure.ac 2015-07-05 21:34:33.000000000 +0200 @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) -AC_INIT(gtkwave, 3.3.65, [email protected]) +AC_INIT(gtkwave, 3.3.66, [email protected]) AC_CONFIG_SRCDIR([src/vcd.c]) AM_INIT_AUTOMAKE AC_CONFIG_HEADER([config.h]) @@ -356,13 +356,13 @@ EXTLOAD_CFLAGS= if test "X$FFR" = "Xyes" ; then - AC_CHECK_FILE("$FSDBREADER_LIBS/libnffr.so", FSDB_SO=yes, FSDB_SO=no) - - if test "X$FSDB_SO" = "Xyes" ; then - FSDB_CFLAGS="-DFSDB_IS_PRESENT -I$FSDBREADER_HDRS" - FSDB_LDADD="$FSDBREADER_LIBS/libnffr.so" - EXTLOAD_CFLAGS="-DEXTLOAD_SUFFIX=\\\"fsdb\\\"" - else +# AC_CHECK_FILE("$FSDBREADER_LIBS/libnffr.so", FSDB_SO=yes, FSDB_SO=no) +# +# if test "X$FSDB_SO" = "Xyes" ; then +# FSDB_CFLAGS="-DFSDB_IS_PRESENT -I$FSDBREADER_HDRS" +# FSDB_LDADD="$FSDBREADER_LIBS/libnffr.so" +# EXTLOAD_CFLAGS="-DEXTLOAD_SUFFIX=\\\"fsdb\\\"" +# else AC_CHECK_FILE("$FSDBREADER_LIBS/libnffr.a", FSDB_A=yes, FSDB_A=no) if test "X$FSDB_A" = "Xyes" ; then @@ -373,15 +373,15 @@ AC_MSG_WARN([FSDB reader library not found, skipping.]) fi - fi +# fi - AC_CHECK_FILE("$FSDBREADER_LIBS/libnsys.so", AFSDB_SO=yes, AFSDB_SO=no) - - if test "X$AFSDB_SO" = "Xyes" ; then - FSDB_CFLAGS="-DFSDB_NSYS_IS_PRESENT $FSDB_CFLAGS" - FSDB_LDADD="$FSDBREADER_LIBS/libnsys.so $FSDB_LDADD" - EXTLOAD_CFLAGS="-DEXTLOAD_SUFFIX=\\\"fsdb\\\"" - else +# AC_CHECK_FILE("$FSDBREADER_LIBS/libnsys.so", AFSDB_SO=yes, AFSDB_SO=no) +# +# if test "X$AFSDB_SO" = "Xyes" ; then +# FSDB_CFLAGS="-DFSDB_NSYS_IS_PRESENT $FSDB_CFLAGS" +# FSDB_LDADD="$FSDBREADER_LIBS/libnsys.so $FSDB_LDADD" +# EXTLOAD_CFLAGS="-DEXTLOAD_SUFFIX=\\\"fsdb\\\"" +# else AC_CHECK_FILE("$FSDBREADER_LIBS/libnsys.a", AFSDB_A=yes, AFSDB_A=no) if test "X$AFSDB_A" = "Xyes" ; then @@ -395,7 +395,7 @@ AC_MSG_WARN([FSDB system library not found, skipping.]) fi - fi +# fi AC_CHECK_FILE("$FSDBREADER_HDRS/ffrAPI.h", FSDB_SOY=yes, FSDB_SOY=no) if test "X$FSDB_SOY" = "Xno" ; then @@ -695,7 +695,7 @@ # removed...causes problems with gtk-1.2... # AM_CONDITIONAL([GDK_TARGET_QUARTZ], [test x$_gdk_tgt = xquartz]) if test "x$_gdk_tgt" = xquartz; then - PKG_CHECK_MODULES(GTK_MAC, gtk-mac-integration) + PKG_CHECK_MODULES(GTK_MAC, gtk-mac-integration >= 2.0.0) AC_SUBST(GTK_MAC_LIBS) AC_SUBST(GTK_MAC_CFLAGS) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/contrib/bundle_for_osx/Info-gtkwave.plist new/gtkwave-3.3.66/contrib/bundle_for_osx/Info-gtkwave.plist --- old/gtkwave-3.3.65/contrib/bundle_for_osx/Info-gtkwave.plist 2014-12-29 21:10:07.000000000 +0100 +++ new/gtkwave-3.3.66/contrib/bundle_for_osx/Info-gtkwave.plist 2015-07-05 21:34:33.000000000 +0200 @@ -8,7 +8,7 @@ <key>CFBundleExecutable</key> <string>gtkwave</string> <key>CFBundleGetInfoString</key> - <string>3.3.65, (C) 1999-2015 Tony Bybell http://gtkwave.sourceforge.net</string> + <string>3.3.66, (C) 1999-2015 Tony Bybell http://gtkwave.sourceforge.net</string> <key>CFBundleIconFile</key> <string>gtkwave.icns</string> <key>CFBundleIdentifier</key> @@ -18,11 +18,11 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>3.3.65</string> + <string>3.3.66</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> - <string>3.3.65</string> + <string>3.3.66</string> <key>NSHumanReadableCopyright</key> <string>Copyright 1999 - 2015 Tony Bybell, GNU General Public License.</string> <key>LSMinimumSystemVersion</key> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/contrib/fsdb2vcd/fsdb2vcd_fast.cc new/gtkwave-3.3.66/contrib/fsdb2vcd/fsdb2vcd_fast.cc --- old/gtkwave-3.3.65/contrib/fsdb2vcd/fsdb2vcd_fast.cc 2014-03-14 19:56:00.000000000 +0100 +++ new/gtkwave-3.3.66/contrib/fsdb2vcd/fsdb2vcd_fast.cc 2015-06-19 03:17:04.000000000 +0200 @@ -1,6 +1,6 @@ /* to compile: - g++ -o fsdb2vcd_fast -O2 fsdb2vcd_fast.cc -I /pub/FsdbReader/ /pub/FsdbReader/libnffr.a /pub/FsdbReader/libnsys.a -ldl -lpthread + g++ -o fsdb2vcd_fast -O2 fsdb2vcd_fast.cc -I /pub/FsdbReader/ /pub/FsdbReader/libnffr.a /pub/FsdbReader/libnsys.a -ldl -lpthread -lz Much faster version of fsdb2vcd as compared to one bundled with Verdi. Requires libs and headers for FsdbReader. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/Makefile.in new/gtkwave-3.3.66/src/Makefile.in --- old/gtkwave-3.3.65/src/Makefile.in 2014-01-03 05:17:31.000000000 +0100 +++ new/gtkwave-3.3.66/src/Makefile.in 2015-05-08 03:09:38.000000000 +0200 @@ -408,7 +408,7 @@ vcd_partial.c vcd_recoder.c vcd_saver.c vcd_saver.h version.h vlist.c vlist.h vzt.c vzt.h wavealloca.h \ wavewindow.c zoombuttons.c -gtkwave_LDADD = $(LIBCOCOA_LDADD) $(GTK_LIBS) $(LIBLZMA_LDADD) $(LIBZ_LDADD) $(LIBBZ2_LDADD) $(LIBFST_LDADD) $(AET2_LDADD) $(FSDB_LDADD) $(TCL_LDADD) $(TK_LDADD) $(LIBJUDY_LDADD) $(GTK_MAC_LIBS) $(GCONF_LIBS) $(GTK_UNIX_PRINT_LIBS) $(MINGW_LDADD) +gtkwave_LDADD = $(LIBCOCOA_LDADD) $(GTK_LIBS) $(LIBLZMA_LDADD) $(LIBZ_LDADD) $(LIBBZ2_LDADD) $(LIBFST_LDADD) $(AET2_LDADD) $(TCL_LDADD) $(TK_LDADD) $(FSDB_LDADD) $(LIBJUDY_LDADD) $(GTK_MAC_LIBS) $(GCONF_LIBS) $(GTK_UNIX_PRINT_LIBS) $(MINGW_LDADD) gtkwave_LDFLAGS = $(COCOA_GTK_LDFLAGS) twinwave_SOURCES = twinwave.c twinwave_LDADD = $(GTK_LIBS) $(GTK_MAC_LIBS) $(GCONF_LIBS) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/extload.c new/gtkwave-3.3.66/src/extload.c --- old/gtkwave-3.3.65/src/extload.c 2014-07-17 04:19:01.000000000 +0200 +++ new/gtkwave-3.3.66/src/extload.c 2015-06-18 06:31:56.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) Tony Bybell 2009-2014. + * Copyright (c) Tony Bybell 2009-2015. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -72,6 +72,90 @@ #else +/******************************************************************/ + +/* + * reverse equality mem compare + */ +static int memrevcmp(int i, const char *s1, const char *s2) +{ +i--; +for(;i>=0;i--) + { + if(s1[i] != s2[i]) break; + } + +return(i+1); +} + + + +/* + * fast itoa for decimal numbers + */ +static char* itoa_2(int value, char* result) +{ +char* ptr = result, *ptr1 = result, tmp_char; +int tmp_value; + +do { + tmp_value = value; + value /= 10; + *ptr++ = "9876543210123456789" [9 + (tmp_value - value * 10)]; +} while ( value ); + +if (tmp_value < 0) *ptr++ = '-'; +result = ptr; +*ptr-- = '\0'; +while(ptr1 < ptr) { + tmp_char = *ptr; + *ptr--= *ptr1; + *ptr1++ = tmp_char; +} +return(result); +} + + +/* + * preformatted sprintf statements which remove parsing latency + */ +static int sprintf_2_sd(char *s, char *c, int d) +{ +char *s2 = s; + +while(*c) + { + *(s2++) = *(c++); + } +*(s2++) = '['; +s2 = itoa_2(d, s2); +*(s2++) = ']'; +*s2 = 0; + +return(s2 - s); +} + + +static int sprintf_2_sdd(char *s, char *c, int d, int d2) +{ +char *s2 = s; + +while(*c) + { + *(s2++) = *(c++); + } +*(s2++) = '['; +s2 = itoa_2(d, s2); +*(s2++) = ':'; +s2 = itoa_2(d2, s2); +*(s2++) = ']'; +*s2 = 0; + +return(s2 - s); +} + +/******************************************************************/ + #ifndef WAVE_FSDB_READER_IS_PRESENT static int last_modification_check(void) { @@ -187,8 +271,15 @@ char *vtyp_nam; char *cpyto; char *pntd; + char *typ_src = pnt; + char *typ_dst = typ; - sscanf(rc + 5, "%s", typ); + /* following code replaces: sscanf(rc + 5, "%s", typ) */ + while(*typ_src && !isspace(*typ_src)) + { + *(typ_dst++) = *(typ_src++); + } + *typ_dst = 0; while(*pnt) { @@ -233,9 +324,28 @@ if(last_l) { unsigned int l, r; - char s1[32]; + /* char s1[32]; */ unsigned int d2; - sscanf(last_l+2, "%u r:%u %s %u", &l, &r, s1, &d2); + /* sscanf(last_l+2, "%u r:%u %s %u", &l, &r, s1, &d2); */ + + char *ps = last_l+2; + char *l_pnt, *r_pnt, *d2_pnt; + + while(*ps && isspace(*ps)) { ps++; } + l_pnt = ps; + while(*ps && !isspace(*ps)) { ps++; } + while(*ps && isspace(*ps)) { ps++; } + r_pnt = ps; + while(*ps && !isspace(*ps)) { ps++; } + while(*ps && isspace(*ps)) { ps++; } + /* s1_pnt = ps; */ + while(*ps && !isspace(*ps)) { ps++; } + while(*ps && isspace(*ps)) { ps++; } + d2_pnt = ps; + + l = atoi(l_pnt); + r = atoi(r_pnt+2); + d2 = atoi(d2_pnt); GLOBALS->extload_idcodes[i] = d2; if(GLOBALS->extload_inv_idcodes[d2] == 0) GLOBALS->extload_inv_idcodes[d2] = i+1; /* root alias */ @@ -524,6 +634,7 @@ struct fac *f; char *fnam; int flen; +int longest_nam_candidate = 0; i = GLOBALS->extload_i; @@ -535,22 +646,25 @@ if(GLOBALS->extload_hlen) { - GLOBALS->extload_namecache[0]=malloc_2(GLOBALS->extload_hlen+1+flen+1); - strcpy(GLOBALS->extload_namecache[0], GLOBALS->fst_scope_name); - *(GLOBALS->extload_namecache[0]+GLOBALS->extload_hlen) = '.'; - strcpy(GLOBALS->extload_namecache[0]+GLOBALS->extload_hlen+1, fnam); + GLOBALS->extload_namecache[0 & F_NAME_MODULUS]=malloc_2(GLOBALS->extload_namecache_max[0 & F_NAME_MODULUS]=GLOBALS->extload_hlen+1+flen+1); + memcpy(GLOBALS->extload_namecache[0 & F_NAME_MODULUS], GLOBALS->fst_scope_name, GLOBALS->extload_hlen); + *(GLOBALS->extload_namecache[0 & F_NAME_MODULUS]+GLOBALS->extload_hlen) = '.'; + strcpy(GLOBALS->extload_namecache[0 & F_NAME_MODULUS]+GLOBALS->extload_hlen+1, fnam); + GLOBALS->extload_namecache_lens[0 & F_NAME_MODULUS]=GLOBALS->extload_hlen + 1 + flen; } else { - GLOBALS->extload_namecache[0]=malloc_2(flen+1); - strcpy(GLOBALS->extload_namecache[0], fnam); + GLOBALS->extload_namecache[0 & F_NAME_MODULUS]=malloc_2(GLOBALS->extload_namecache_max[0 & F_NAME_MODULUS]=flen+1); + strcpy(GLOBALS->extload_namecache[0 & F_NAME_MODULUS], fnam); + GLOBALS->extload_namecache_lens[0 & F_NAME_MODULUS] = flen; } #else fnam = get_varname(&GLOBALS->extload_vt_prev, &GLOBALS->extload_vd_prev, 0); flen = strlen(fnam); - GLOBALS->extload_namecache[0]=malloc_2(flen+1); - strcpy(GLOBALS->extload_namecache[0], fnam); + GLOBALS->extload_namecache[0 & F_NAME_MODULUS]=malloc_2(GLOBALS->extload_namecache_max[0 & F_NAME_MODULUS]=flen+1); + strcpy(GLOBALS->extload_namecache[0 & F_NAME_MODULUS], fnam); + GLOBALS->extload_namecache_lens[0 & F_NAME_MODULUS] = flen; #endif } else @@ -565,37 +679,59 @@ if(GLOBALS->extload_hlen) { - GLOBALS->extload_namecache[i+1]=malloc_2(GLOBALS->extload_hlen+1+flen+1); - strcpy(GLOBALS->extload_namecache[i+1], GLOBALS->fst_scope_name); - *(GLOBALS->extload_namecache[i+1]+GLOBALS->extload_hlen) = '.'; - strcpy(GLOBALS->extload_namecache[i+1]+GLOBALS->extload_hlen+1, fnam); + if(GLOBALS->extload_namecache_max[(i+1)&F_NAME_MODULUS] < (GLOBALS->extload_hlen+1+flen+1)) + { + if(GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS]) free_2(GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS]); + GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS]=malloc_2(GLOBALS->extload_namecache_max[(i+1)&F_NAME_MODULUS] = GLOBALS->extload_hlen+1+flen+1); + } + + memcpy(GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS], GLOBALS->fst_scope_name, GLOBALS->extload_hlen); + *(GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS]+GLOBALS->extload_hlen) = '.'; + strcpy(GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS]+GLOBALS->extload_hlen+1, fnam); + GLOBALS->extload_namecache_lens[(i+1)&F_NAME_MODULUS] = GLOBALS->extload_hlen + 1 + flen; } else { - GLOBALS->extload_namecache[i+1]=malloc_2(flen+1); - strcpy(GLOBALS->extload_namecache[i+1], fnam); + if(GLOBALS->extload_namecache_max[(i+1)&F_NAME_MODULUS] < (flen+1)) + { + if(GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS])free_2(GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS]); + GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS]=malloc_2(GLOBALS->extload_namecache_max[(i+1)&F_NAME_MODULUS] = flen+1); + } + strcpy(GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS], fnam); + GLOBALS->extload_namecache_lens[(i+1)&F_NAME_MODULUS] = flen; } #else fnam = get_varname(&GLOBALS->extload_vt_prev, &GLOBALS->extload_vd_prev, i+1); flen = strlen(fnam); - GLOBALS->extload_namecache[i+1]=malloc_2(flen+1); - strcpy(GLOBALS->extload_namecache[i+1], fnam); + if(GLOBALS->extload_namecache_max[(i+1)&F_NAME_MODULUS] < (flen+1)) + { + GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS]=malloc_2(GLOBALS->extload_namecache_max[(i+1)&F_NAME_MODULUS] = flen+1); + } + strcpy(GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS], fnam); + GLOBALS->extload_namecache_lens[(i+1)&F_NAME_MODULUS] = flen; #endif } - if(i>1) - { - free_2(GLOBALS->extload_namecache[i-2]); - GLOBALS->extload_namecache[i-2] = NULL; - } - f=GLOBALS->mvlfacs_vzt_c_3+i; if((f->len>1)&& (!(f->flags&(VZT_RD_SYM_F_INTEGER|VZT_RD_SYM_F_DOUBLE|VZT_RD_SYM_F_STRING))) ) { - int len=sprintf(buf, "%s[%d:%d]", GLOBALS->extload_namecache[i],GLOBALS->extload_node_block[i].msi, GLOBALS->extload_node_block[i].lsi); - str=malloc_2(len+1); + int len=sprintf_2_sdd(buf, GLOBALS->extload_namecache[i&F_NAME_MODULUS],GLOBALS->extload_node_block[i].msi, GLOBALS->extload_node_block[i].lsi); + longest_nam_candidate = len; + + if(!GLOBALS->do_hier_compress) + { + str=malloc_2(len+1); + } + else + { + if(len > GLOBALS->f_name_build_buf_len) + { + free_2(GLOBALS->f_name_build_buf); GLOBALS->f_name_build_buf = malloc_2((GLOBALS->f_name_build_buf_len=len)+1); + } + str = GLOBALS->f_name_build_buf; + } if(!GLOBALS->alt_hier_delimeter) { @@ -611,14 +747,28 @@ } else if ( ((f->len==1)&&(!(f->flags&(VZT_RD_SYM_F_INTEGER|VZT_RD_SYM_F_DOUBLE|VZT_RD_SYM_F_STRING)))&& - ((i!=GLOBALS->numfacs-1)&&(!strcmp(GLOBALS->extload_namecache[i], GLOBALS->extload_namecache[i+1])))) + ((i!=GLOBALS->numfacs-1)&&(GLOBALS->extload_namecache_lens[i&F_NAME_MODULUS]==GLOBALS->extload_namecache_lens[(i+1)&F_NAME_MODULUS])&&(!memrevcmp(GLOBALS->extload_namecache_lens[i&F_NAME_MODULUS],GLOBALS->extload_namecache[i&F_NAME_MODULUS], GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS])))) || - (((i!=0)&&(!strcmp(GLOBALS->extload_namecache[i], GLOBALS->extload_namecache[i-1]))) && + (((i!=0)&&(GLOBALS->extload_namecache_lens[i&F_NAME_MODULUS]==GLOBALS->extload_namecache_lens[(i-1)&F_NAME_MODULUS])&&(!memrevcmp(GLOBALS->extload_namecache_lens[i&F_NAME_MODULUS], GLOBALS->extload_namecache[i&F_NAME_MODULUS], GLOBALS->extload_namecache[(i-1)&F_NAME_MODULUS]))) && (GLOBALS->extload_node_block[i].msi!=-1)&&(GLOBALS->extload_node_block[i].lsi!=-1)) ) { - int len = sprintf(buf, "%s[%d]", GLOBALS->extload_namecache[i],GLOBALS->extload_node_block[i].msi); - str=malloc_2(len+1); + int len = sprintf_2_sd(buf, GLOBALS->extload_namecache[i&F_NAME_MODULUS],GLOBALS->extload_node_block[i].msi); + longest_nam_candidate = len; + + if(!GLOBALS->do_hier_compress) + { + str=malloc_2(len+1); + } + else + { + if(len > GLOBALS->f_name_build_buf_len) + { + free_2(GLOBALS->f_name_build_buf); GLOBALS->f_name_build_buf = malloc_2((GLOBALS->f_name_build_buf_len=len)+1); + } + str = GLOBALS->f_name_build_buf; + } + if(!GLOBALS->alt_hier_delimeter) { strcpy(str, buf); @@ -629,7 +779,7 @@ } s=&GLOBALS->extload_sym_block[i]; symadd_name_exists_sym_exists(s,str,0); - if((GLOBALS->extload_prevsym)&&(i>0)&&(!strcmp(GLOBALS->extload_namecache[i], GLOBALS->extload_namecache[i-1]))) /* allow chaining for search functions.. */ + if((GLOBALS->extload_prevsym)&&(i>0)&&(GLOBALS->extload_namecache_lens[i&F_NAME_MODULUS]==GLOBALS->extload_namecache_lens[(i-1)&F_NAME_MODULUS])&&(!memrevcmp(GLOBALS->extload_namecache_lens[i&F_NAME_MODULUS], GLOBALS->extload_namecache[i&F_NAME_MODULUS], GLOBALS->extload_namecache[(i-1)&F_NAME_MODULUS]))) /* allow chaining for search functions.. */ { GLOBALS->extload_prevsym->vec_root = GLOBALS->extload_prevsymroot; GLOBALS->extload_prevsym->vec_chain = s; @@ -643,14 +793,29 @@ } else { - str=malloc_2(strlen(GLOBALS->extload_namecache[i])+1); + int len = GLOBALS->extload_namecache_lens[i&F_NAME_MODULUS]; + + longest_nam_candidate = len; + if(!GLOBALS->do_hier_compress) + { + str=malloc_2(len+1); + } + else + { + if(len > GLOBALS->f_name_build_buf_len) + { + free_2(GLOBALS->f_name_build_buf); GLOBALS->f_name_build_buf = malloc_2((GLOBALS->f_name_build_buf_len=len)+1); + } + str = GLOBALS->f_name_build_buf; + } + if(!GLOBALS->alt_hier_delimeter) { - strcpy(str, GLOBALS->extload_namecache[i]); + strcpy(str, GLOBALS->extload_namecache[i&F_NAME_MODULUS]); } else { - strcpy_vcdalt(str, GLOBALS->extload_namecache[i], GLOBALS->alt_hier_delimeter); + strcpy_vcdalt(str, GLOBALS->extload_namecache[i&F_NAME_MODULUS], GLOBALS->alt_hier_delimeter); } s=&GLOBALS->extload_sym_block[i]; symadd_name_exists_sym_exists(s,str,0); @@ -665,6 +830,20 @@ } n=&GLOBALS->extload_node_block[i]; + + if(longest_nam_candidate > GLOBALS->longestname) GLOBALS->longestname = longest_nam_candidate; + + if(GLOBALS->do_hier_compress) + { + n->nname = compress_facility((unsigned char *)s->name, longest_nam_candidate); + /* free_2(s->name); ...removed as GLOBALS->f_name_build_buf is now used */ + s->name = n->nname; + } + else + { + n->nname=s->name; + } + n->nname=s->name; n->mv.mvlfac = GLOBALS->mvlfacs_vzt_c_3+i; GLOBALS->mvlfacs_vzt_c_3[i].working_node = n; @@ -965,12 +1144,25 @@ GLOBALS->mvlfacs_vzt_c_3=(struct fac *)calloc_2(GLOBALS->numfacs,sizeof(struct fac)); GLOBALS->vzt_table_vzt_c_1=(struct lx2_entry *)calloc_2(GLOBALS->numfacs, sizeof(struct lx2_entry)); -GLOBALS->extload_namecache=(char **)calloc_2(GLOBALS->numfacs, sizeof(char *)); +GLOBALS->extload_namecache=(char **)calloc_2(F_NAME_MODULUS+1, sizeof(char *)); +GLOBALS->extload_namecache_max=(int *)calloc_2(F_NAME_MODULUS+1, sizeof(int)); +GLOBALS->extload_namecache_lens=(int *)calloc_2(F_NAME_MODULUS+1, sizeof(int)); GLOBALS->extload_sym_block = (struct symbol *)calloc_2(GLOBALS->numfacs, sizeof(struct symbol)); GLOBALS->extload_node_block=(struct Node *)calloc_2(GLOBALS->numfacs,sizeof(struct Node)); GLOBALS->extload_idcodes=(unsigned int *)calloc_2(GLOBALS->numfacs, sizeof(unsigned int)); GLOBALS->extload_inv_idcodes=(int *)calloc_2(max_idcode+1, sizeof(int)); +if(!GLOBALS->fast_tree_sort) + { + GLOBALS->do_hier_compress = 0; + } + +GLOBALS->f_name_build_buf_len = 128; +GLOBALS->f_name_build_buf = malloc_2(GLOBALS->f_name_build_buf_len + 1); + +init_facility_pack(); + + /* SPLASH */ splash_sync(1, 5); #ifdef WAVE_FSDB_READER_IS_PRESENT @@ -989,7 +1181,7 @@ decorated_module_cleanup(); /* ...also now in gtk2_treesearch.c */ iter_through_comp_name_table(); -for(i=0;((i<2)&&(i<GLOBALS->numfacs));i++) +for(i=0;i<=F_NAME_MODULUS;i++) { if(GLOBALS->extload_namecache[i]) { @@ -998,6 +1190,8 @@ } } free_2(GLOBALS->extload_namecache); GLOBALS->extload_namecache = NULL; +free_2(GLOBALS->extload_namecache_max); GLOBALS->extload_namecache_max = NULL; +free_2(GLOBALS->extload_namecache_lens); GLOBALS->extload_namecache_lens = NULL; fstReaderClose(GLOBALS->extload_xc); /* corresponds to fstReaderOpenForUtilitiesOnly() */ @@ -1025,7 +1219,7 @@ decorated_module_cleanup(); /* ...also now in gtk2_treesearch.c */ iter_through_comp_name_table(); -for(i=0;((i<2)&&(i<GLOBALS->numfacs));i++) +for(i=0;i<=F_NAME_MODULUS;i++) { if(GLOBALS->extload_namecache[i]) { @@ -1034,6 +1228,8 @@ } } free_2(GLOBALS->extload_namecache); GLOBALS->extload_namecache = NULL; +free_2(GLOBALS->extload_namecache_max); GLOBALS->extload_namecache_max = NULL; +free_2(GLOBALS->extload_namecache_lens); GLOBALS->extload_namecache_lens = NULL; pclose(GLOBALS->extload); fstReaderClose(GLOBALS->extload_xc); /* corresponds to fstReaderOpenForUtilitiesOnly() */ @@ -1041,15 +1237,16 @@ #endif /* SPLASH */ splash_sync(2, 5); +if(GLOBALS->f_name_build_buf) { free_2(GLOBALS->f_name_build_buf); GLOBALS->f_name_build_buf = NULL; } +freeze_facility_pack(); + GLOBALS->facs=(struct symbol **)malloc_2(GLOBALS->numfacs*sizeof(struct symbol *)); if(GLOBALS->fast_tree_sort) { for(i=0;i<GLOBALS->numfacs;i++) { - int len; GLOBALS->facs[i]=&GLOBALS->extload_sym_block[i]; - if((len=strlen(GLOBALS->facs[i]->name))>GLOBALS->longestname) GLOBALS->longestname=len; } /* SPLASH */ splash_sync(3, 5); @@ -1058,7 +1255,9 @@ init_tree(); for(i=0;i<GLOBALS->numfacs;i++) { - build_tree_from_name(GLOBALS->facs[i]->name, i); + int was_packed = HIER_DEPACK_STATIC; /* no need to free_2() afterward then */ + char *sb = hier_decompress_flagged(GLOBALS->facs[i]->name, &was_packed); + build_tree_from_name(sb, i); } /* SPLASH */ splash_sync(4, 5); treegraft(&GLOBALS->treeroot); @@ -1522,6 +1721,7 @@ if(!GLOBALS->extload_ffr_import_count) { fsdbReaderUnloadSignals(GLOBALS->extload_ffr_ctx); + fsdbReaderResetSignalList(GLOBALS->extload_ffr_ctx); } GLOBALS->extload_ffr_import_count++; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/fsdb_wrapper_api.cc new/gtkwave-3.3.66/src/fsdb_wrapper_api.cc --- old/gtkwave-3.3.65/src/fsdb_wrapper_api.cc 2014-05-15 18:34:32.000000000 +0200 +++ new/gtkwave-3.3.66/src/fsdb_wrapper_api.cc 2015-06-18 06:31:56.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) Tony Bybell 2013-2014. + * Copyright (c) Tony Bybell 2013-2015. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -103,6 +103,13 @@ } +extern "C" void fsdbReaderResetSignalList(void *ctx) +{ +ffrObject *fsdb_obj = (ffrObject *)ctx; +fsdb_obj->ffrResetSignalList(); +} + + extern "C" void fsdbReaderLoadSignals(void *ctx) { ffrObject *fsdb_obj = (ffrObject *)ctx; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/fsdb_wrapper_api.h new/gtkwave-3.3.66/src/fsdb_wrapper_api.h --- old/gtkwave-3.3.65/src/fsdb_wrapper_api.h 2014-05-15 18:34:32.000000000 +0200 +++ new/gtkwave-3.3.66/src/fsdb_wrapper_api.h 2015-06-18 06:31:56.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) Tony Bybell 2013-2014. + * Copyright (c) Tony Bybell 2013-2015. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -44,6 +44,7 @@ int fsdbReaderGetMaxVarIdcode(void *ctx); struct fsdbReaderGetStatistics_t *fsdbReaderGetStatistics(void *ctx); void fsdbReaderAddToSignalList(void *ctx, int i); +void fsdbReaderResetSignalList(void *ctx); void fsdbReaderLoadSignals(void *ctx); void *fsdbReaderCreateVCTraverseHandle(void *ctx, int i); int fsdbReaderHasIncoreVC(void *ctx, void *hdl); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/fst.c new/gtkwave-3.3.66/src/fst.c --- old/gtkwave-3.3.65/src/fst.c 2015-04-01 09:13:04.000000000 +0200 +++ new/gtkwave-3.3.66/src/fst.c 2015-04-15 02:14:04.000000000 +0200 @@ -1727,7 +1727,7 @@ JRB fi = jrb_find_int(GLOBALS->synclock_jrb, txidx); if(fi) { - expand_synvec(txidx+1, fi->val.s); + expand_synvec(GLOBALS->mvlfacs_fst_c_3[txidx].node_alias+1, fi->val.s); import_fst_trace(np); return; /* import_fst_trace() will construct the trailer */ } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/ghw.c new/gtkwave-3.3.66/src/ghw.c --- old/gtkwave-3.3.65/src/ghw.c 2015-03-10 22:02:18.000000000 +0100 +++ new/gtkwave-3.3.66/src/ghw.c 2015-05-09 01:17:16.000000000 +0200 @@ -51,7 +51,7 @@ long ghw_cmp_l(void *i, void *j) { -long il = (long)i, jl = (long)j; +uintptr_t il = (uintptr_t)i, jl = (uintptr_t)j; return(il - jl); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/globals.c new/gtkwave-3.3.66/src/globals.c --- old/gtkwave-3.3.65/src/globals.c 2015-04-01 08:54:54.000000000 +0200 +++ new/gtkwave-3.3.66/src/globals.c 2015-05-08 05:06:51.000000000 +0200 @@ -243,6 +243,8 @@ 0, /* extload_already_errored */ #endif NULL, /* extload_namecache */ +NULL, /* extload_namecache_max */ +NULL, /* extload_namecache_lens */ NULL, /* extload_sym_block */ NULL, /* extload_node_block */ NULL, /* extload_xc */ @@ -252,6 +254,8 @@ 0, /* extload_hlen */ 0, /* extload_vt_prev */ 0, /* extload_vd_prev */ +0, /* f_name_build_buf_len */ +NULL, /* f_name_build_buf */ /* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/globals.h new/gtkwave-3.3.66/src/globals.h --- old/gtkwave-3.3.65/src/globals.h 2015-04-01 08:54:54.000000000 +0200 +++ new/gtkwave-3.3.66/src/globals.h 2015-05-08 05:06:51.000000000 +0200 @@ -242,6 +242,8 @@ char extload_already_errored; /* from extload.c */ #endif char **extload_namecache; +int *extload_namecache_max; +int *extload_namecache_lens; struct symbol *extload_sym_block; struct Node *extload_node_block; void *extload_xc; @@ -251,6 +253,8 @@ int extload_hlen; unsigned char extload_vt_prev; unsigned char extload_vd_prev; +int f_name_build_buf_len; +char *f_name_build_buf; /* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/helpers/fst/fstapi.c new/gtkwave-3.3.66/src/helpers/fst/fstapi.c --- old/gtkwave-3.3.65/src/helpers/fst/fstapi.c 2015-04-01 08:54:54.000000000 +0200 +++ new/gtkwave-3.3.66/src/helpers/fst/fstapi.c 2015-05-08 23:52:58.000000000 +0200 @@ -1449,12 +1449,12 @@ PPvoid_t pv = JudyHSIns(&PJHSArray, dmem, destlen, NULL); if(*pv) { - uint32_t pvi = (long)(*pv); + uint32_t pvi = (intptr_t)(*pv); vm4ip[2] = -pvi; } else { - *pv = (void *)(long)(i+1); + *pv = (void *)(intptr_t)(i+1); #endif fpos += fstWriterVarint(f, wrlen); fpos += destlen; @@ -1469,12 +1469,12 @@ PPvoid_t pv = JudyHSIns(&PJHSArray, scratchpnt, wrlen, NULL); if(*pv) { - uint32_t pvi = (long)(*pv); + uint32_t pvi = (intptr_t)(*pv); vm4ip[2] = -pvi; } else { - *pv = (void *)(long)(i+1); + *pv = (void *)(intptr_t)(i+1); #endif fpos += fstWriterVarint(f, 0); fpos += wrlen; @@ -1504,12 +1504,12 @@ PPvoid_t pv = JudyHSIns(&PJHSArray, dmem, rc, NULL); if(*pv) { - uint32_t pvi = (long)(*pv); + uint32_t pvi = (intptr_t)(*pv); vm4ip[2] = -pvi; } else { - *pv = (void *)(long)(i+1); + *pv = (void *)(intptr_t)(i+1); #endif fpos += fstWriterVarint(f, wrlen); fpos += rc; @@ -1524,12 +1524,12 @@ PPvoid_t pv = JudyHSIns(&PJHSArray, scratchpnt, wrlen, NULL); if(*pv) { - uint32_t pvi = (long)(*pv); + uint32_t pvi = (intptr_t)(*pv); vm4ip[2] = -pvi; } else { - *pv = (void *)(long)(i+1); + *pv = (void *)(intptr_t)(i+1); #endif fpos += fstWriterVarint(f, 0); fpos += wrlen; @@ -1546,12 +1546,12 @@ PPvoid_t pv = JudyHSIns(&PJHSArray, scratchpnt, wrlen, NULL); if(*pv) { - uint32_t pvi = (long)(*pv); + uint32_t pvi = (intptr_t)(*pv); vm4ip[2] = -pvi; } else { - *pv = (void *)(long)(i+1); + *pv = (void *)(intptr_t)(i+1); #endif fpos += fstWriterVarint(f, 0); fpos += wrlen; @@ -2299,22 +2299,24 @@ #ifndef _WAVE_HAVE_JUDY const uint32_t hashmask = FST_PATH_HASHMASK; const unsigned char *path2 = (const unsigned char *)path; + PPvoid_t pv; #else char *path2 = alloca(slen + 1); /* judy lacks const qualifier in its JudyHSIns definition */ + PPvoid_t pv; strcpy(path2, path); #endif - PPvoid_t pv = JudyHSIns(&(xc->path_array), path2, slen, NULL); + pv = JudyHSIns(&(xc->path_array), path2, slen, NULL); if(*pv) { - sidx = (long)(*pv); + sidx = (intptr_t)(*pv); } else { char *rp = NULL; sidx = ++xc->path_array_count; - *pv = (void *)(long)(xc->path_array_count); + *pv = (void *)(intptr_t)(xc->path_array_count); if(use_realpath) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/helpers/shmidcat.c new/gtkwave-3.3.66/src/helpers/shmidcat.c --- old/gtkwave-3.3.65/src/helpers/shmidcat.c 2014-07-08 20:48:14.000000000 +0200 +++ new/gtkwave-3.3.66/src/helpers/shmidcat.c 2015-05-09 01:17:16.000000000 +0200 @@ -35,6 +35,15 @@ #include <sys/types.h> #include <unistd.h> +#ifndef _MSC_VER +#ifndef __MINGW32__ +#include <stdint.h> +#else +#include <windows.h> +#endif +#endif + + #include "wave_locale.h" #if !defined _MSC_VER @@ -118,7 +127,7 @@ void emit_string(char *s) { int len = strlen(s); -long l_top, l_curr; +uintptr_t l_top, l_curr; int consumed; int blksiz; @@ -140,8 +149,8 @@ } } - l_top = (long)buf_top; - l_curr = (long)buf_curr; + l_top = (uintptr_t)buf_top; + l_curr = (uintptr_t)buf_curr; if(l_curr >= l_top) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/helpers/vcd2fst.c new/gtkwave-3.3.66/src/helpers/vcd2fst.c --- old/gtkwave-3.3.65/src/helpers/vcd2fst.c 2014-10-25 06:12:39.000000000 +0200 +++ new/gtkwave-3.3.66/src/helpers/vcd2fst.c 2015-05-21 21:22:50.000000000 +0200 @@ -570,6 +570,11 @@ char *nam; unsigned int hash; + if(!st) + { + continue; /* variable declaration not on a single line */ + } + vartype = FST_VT_VCD_WIRE; switch(st[0]) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/helpers/vcd2vzt.c new/gtkwave-3.3.66/src/helpers/vcd2vzt.c --- old/gtkwave-3.3.65/src/helpers/vcd2vzt.c 2014-05-28 06:59:41.000000000 +0200 +++ new/gtkwave-3.3.66/src/helpers/vcd2vzt.c 2015-05-21 21:22:50.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999-2014 Tony Bybell. + * Copyright (c) 1999-2015 Tony Bybell. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -964,8 +964,15 @@ } else { - vzt_wr_emit_value_double(lt, v->ltsym, 0, *d); - add_histent(current_time, v->narray[0],'g',1,(char *)d); + if(v->vartype == V_REAL) + { + vzt_wr_emit_value_double(lt, v->ltsym, 0, *d); + add_histent(current_time, v->narray[0],'g',1,(char *)d); + } + else + { + fprintf(stderr,"Near line %d, real value change for non-real '%s'\n",vcdlineno, yytext); + } free_2(d); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/helpers/vzt_read.c new/gtkwave-3.3.66/src/helpers/vzt_read.c --- old/gtkwave-3.3.65/src/helpers/vzt_read.c 2015-02-23 05:10:25.000000000 +0100 +++ new/gtkwave-3.3.66/src/helpers/vzt_read.c 2015-05-09 01:17:16.000000000 +0200 @@ -319,7 +319,7 @@ /* vztint32_t *block_end = (vztint32_t *)(pnt + b->uncompressed_siz); */ vztint32_t *val_tmp; unsigned int num_bitplanes; -long padskip; +uintptr_t padskip; num_time_ticks = vzt_rd_get_v32(&pnt); /* fprintf(stderr, "* num_time_ticks = %d\n", num_time_ticks); */ @@ -350,7 +350,7 @@ num_sections = vzt_rd_get_v32(&pnt); num_dict_entries = vzt_rd_get_v32(&pnt); -padskip = ((long)pnt)&3; pnt += (padskip) ? 4-padskip : 0; /* skip pad to next 4 byte boundary */ +padskip = ((uintptr_t)pnt)&3; pnt += (padskip) ? 4-padskip : 0; /* skip pad to next 4 byte boundary */ /* fprintf(stderr, "num_sections: %d, num_dict_entries: %d\n", num_sections, num_dict_entries); */ @@ -407,7 +407,7 @@ bpcalc: num_bitplanes = vzt_rd_get_byte(pnt, 0) + 1; pnt++; b->multi_state = (num_bitplanes > 1); -padskip = ((long)pnt)&3; pnt += (padskip) ? 4-padskip : 0; /* skip pad to next 4 byte boundary */ +padskip = ((uintptr_t)pnt)&3; pnt += (padskip) ? 4-padskip : 0; /* skip pad to next 4 byte boundary */ b->vindex = (vztint32_t *)(pnt); if(is_big_endian()) /* have to bswap the value changes on big endian machines... */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/helpers/vzt_write.c new/gtkwave-3.3.66/src/helpers/vzt_write.c --- old/gtkwave-3.3.65/src/helpers/vzt_write.c 2014-07-17 22:27:04.000000000 +0200 +++ new/gtkwave-3.3.66/src/helpers/vzt_write.c 2015-05-21 21:22:50.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003-2009 Tony Bybell. + * Copyright (c) 2003-2015 Tony Bybell. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -1223,6 +1223,12 @@ int val; unsigned int numticks; +if(!lt->emitted) /* only happens if there are no value changes */ + { + vzt_wr_emitfacs(lt); + lt->emitted = 1; + } + if(!lt->timegranule) { vzt_wr_dsvzt_Tree *t=NULL; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/main.c new/gtkwave-3.3.66/src/main.c --- old/gtkwave-3.3.65/src/main.c 2014-11-23 17:54:17.000000000 +0100 +++ new/gtkwave-3.3.66/src/main.c 2015-06-23 01:32:37.000000000 +0200 @@ -1522,7 +1522,11 @@ } -if(((GLOBALS->loaded_file_type != FST_FILE) && (GLOBALS->loaded_file_type != AE2_FILE)) || (!GLOBALS->fast_tree_sort)) +if(((GLOBALS->loaded_file_type != FST_FILE) && (GLOBALS->loaded_file_type != AE2_FILE) +#if defined(EXTLOAD_SUFFIX) + && (GLOBALS->loaded_file_type != EXTLOAD_FILE) +#endif + ) || (!GLOBALS->fast_tree_sort)) { GLOBALS->do_hier_compress = 0; /* for now, add more file formats in the future */ } @@ -1778,15 +1782,15 @@ #ifdef MAC_INTEGRATION { -GtkOSXApplication *theApp = g_object_new(GTK_TYPE_OSX_APPLICATION, NULL); +GtkosxApplication *theApp = g_object_new(GTKOSX_TYPE_APPLICATION, NULL); gtk_widget_hide(menubar); -gtk_osxapplication_set_menu_bar(theApp, GTK_MENU_SHELL(menubar)); -gtk_osxapplication_set_use_quartz_accelerators(theApp, TRUE); -gtk_osxapplication_ready(theApp); -gtk_osxapplication_set_dock_icon_pixbuf(theApp, dock_pb); +gtkosx_application_set_menu_bar(theApp, GTK_MENU_SHELL(menubar)); +gtkosx_application_set_use_quartz_accelerators(theApp, TRUE); +gtkosx_application_ready(theApp); +gtkosx_application_set_dock_icon_pixbuf(theApp, dock_pb); if(GLOBALS->loaded_file_type == MISSING_FILE) { - gtk_osxapplication_attention_request(theApp, INFO_REQUEST); + gtkosx_application_attention_request(theApp, INFO_REQUEST); } g_signal_connect(theApp, "NSApplicationOpenFile", G_CALLBACK(deal_with_finder_open), NULL); @@ -2023,15 +2027,15 @@ #ifdef MAC_INTEGRATION { -GtkOSXApplication *theApp = g_object_new(GTK_TYPE_OSX_APPLICATION, NULL); +GtkosxApplication *theApp = g_object_new(GTKOSX_TYPE_APPLICATION, NULL); gtk_widget_hide(menubar); -gtk_osxapplication_set_menu_bar(theApp, GTK_MENU_SHELL(menubar)); -gtk_osxapplication_set_use_quartz_accelerators(theApp, TRUE); -gtk_osxapplication_ready(theApp); -gtk_osxapplication_set_dock_icon_pixbuf(theApp, dock_pb); +gtkosx_application_set_menu_bar(theApp, GTK_MENU_SHELL(menubar)); +gtkosx_application_set_use_quartz_accelerators(theApp, TRUE); +gtkosx_application_ready(theApp); +gtkosx_application_set_dock_icon_pixbuf(theApp, dock_pb); if(GLOBALS->loaded_file_type == MISSING_FILE) { - gtk_osxapplication_attention_request(theApp, INFO_REQUEST); + gtkosx_application_attention_request(theApp, INFO_REQUEST); } g_signal_connect(theApp, "NSApplicationOpenFile", G_CALLBACK(deal_with_finder_open), NULL); @@ -2904,7 +2908,7 @@ { char buf[64]; #ifdef MAC_INTEGRATION - const gchar *p = quartz_application_get_executable_path(); + const gchar *p = gtkosx_application_get_executable_path(); #endif sprintf(buf, "%08x", shmid); @@ -3009,7 +3013,7 @@ } else { #ifdef MAC_INTEGRATION - const gchar *p = quartz_application_get_executable_path(); + const gchar *p = gtkosx_application_get_executable_path(); if(p && strstr(p, "Contents/")) { const char *xec = "../Resources/bin/vcd2fst"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/markerbox.c new/gtkwave-3.3.66/src/markerbox.c --- old/gtkwave-3.3.65/src/markerbox.c 2014-07-14 02:42:28.000000000 +0200 +++ new/gtkwave-3.3.66/src/markerbox.c 2015-05-09 01:17:16.000000000 +0200 @@ -104,7 +104,7 @@ hashmask |= hashmask >> 8; hashmask |= hashmask >> 16; -i = ((int) (((long) which) & hashmask)) % WAVE_NUM_NAMED_MARKERS; +i = ((int) (((intptr_t) which) & hashmask)) % WAVE_NUM_NAMED_MARKERS; GLOBALS->dirty_markerbox_c_1 = 1; entry_text = gtk_entry_get_text(GTK_ENTRY(entry)); @@ -138,7 +138,7 @@ hashmask |= hashmask >> 8; hashmask |= hashmask >> 16; -i = ((int) (((long) which) & hashmask)) % WAVE_NUM_NAMED_MARKERS; +i = ((int) (((intptr_t) which) & hashmask)) % WAVE_NUM_NAMED_MARKERS; GLOBALS->dirty_markerbox_c_1 = 1; entry_text = gtk_entry_get_text(GTK_ENTRY(entry)); @@ -182,7 +182,7 @@ hashmask |= hashmask >> 8; hashmask |= hashmask >> 16; -ent_idx = ((int) (((long) which) & hashmask)) % WAVE_NUM_NAMED_MARKERS; +ent_idx = ((int) (((intptr_t) which) & hashmask)) % WAVE_NUM_NAMED_MARKERS; entry=GLOBALS->entries_markerbox_c_1[ent_idx]; @@ -237,7 +237,7 @@ hashmask |= hashmask >> 8; hashmask |= hashmask >> 16; -ent_idx = ((int) (((long) which) & hashmask)) % WAVE_NUM_NAMED_MARKERS; +ent_idx = ((int) (((intptr_t) which) & hashmask)) % WAVE_NUM_NAMED_MARKERS; entry=GLOBALS->entries_markerbox_c_1[ent_idx]; @@ -396,8 +396,8 @@ gtk_widget_show (hbox); GLOBALS->entries_markerbox_c_1[i]=entry = gtk_entry_new_with_max_length (48); - gtkwave_signal_connect(GTK_OBJECT(entry), "activate", GTK_SIGNAL_FUNC(enter_callback), (void *)((long) i)); - gtkwave_signal_connect(GTK_OBJECT(entry), "changed", GTK_SIGNAL_FUNC(change_callback), (void *)((long) i)); + gtkwave_signal_connect(GTK_OBJECT(entry), "activate", GTK_SIGNAL_FUNC(enter_callback), (void *)((intptr_t) i)); + gtkwave_signal_connect(GTK_OBJECT(entry), "changed", GTK_SIGNAL_FUNC(change_callback), (void *)((intptr_t) i)); if(GLOBALS->shadow_markers_markerbox_c_1[i]==-1) { sprintf(buf,"<None>"); @@ -415,8 +415,8 @@ entry = gtk_entry_new_with_max_length (48); if(GLOBALS->shadow_marker_names[i]) gtk_entry_set_text (GTK_ENTRY (entry), GLOBALS->shadow_marker_names[i]); gtk_widget_show (entry); - gtkwave_signal_connect(GTK_OBJECT(entry), "activate", GTK_SIGNAL_FUNC(str_enter_callback), (void *)((long) i)); - gtkwave_signal_connect(GTK_OBJECT(entry), "changed", GTK_SIGNAL_FUNC(str_change_callback), (void *)((long) i)); + gtkwave_signal_connect(GTK_OBJECT(entry), "activate", GTK_SIGNAL_FUNC(str_enter_callback), (void *)((intptr_t) i)); + gtkwave_signal_connect(GTK_OBJECT(entry), "changed", GTK_SIGNAL_FUNC(str_change_callback), (void *)((intptr_t) i)); gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/menu.c new/gtkwave-3.3.66/src/menu.c --- old/gtkwave-3.3.65/src/menu.c 2014-08-20 00:08:35.000000000 +0200 +++ new/gtkwave-3.3.66/src/menu.c 2015-06-23 01:32:37.000000000 +0200 @@ -2250,10 +2250,10 @@ } else { - const gchar *bundle_id = quartz_application_get_bundle_id(); + const gchar *bundle_id = gtkosx_application_get_bundle_id(); if(bundle_id) { - const gchar *rpath = quartz_application_get_resource_path(); + const gchar *rpath = gtkosx_application_get_resource_path(); const char *suf = "/doc/gtkwave.pdf"; char *pdfpath = NULL; FILE *handle; @@ -8671,7 +8671,9 @@ gtk_window_add_accel_group(GTK_WINDOW(window), global_accel); #ifdef MAC_INTEGRATION +#if defined(HAVE_LIBTCL) gtk_widget_hide(menu_wlist[WV_MENU_TCLSEP]); +#endif gtk_widget_hide(menu_wlist[WV_MENU_FQY]); #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/rc.c new/gtkwave-3.3.66/src/rc.c --- old/gtkwave-3.3.65/src/rc.c 2014-08-11 02:38:54.000000000 +0200 +++ new/gtkwave-3.3.66/src/rc.c 2015-06-23 01:32:37.000000000 +0200 @@ -1003,10 +1003,10 @@ if(!(handle=fopen(rcpath,"rb"))) { #ifdef MAC_INTEGRATION - const gchar *bundle_id = quartz_application_get_bundle_id(); + const gchar *bundle_id = gtkosx_application_get_bundle_id(); if(bundle_id) { - const gchar *rpath = quartz_application_get_resource_path(); + const gchar *rpath = gtkosx_application_get_resource_path(); const char *suf = "/gtkwaverc"; rcpath = NULL; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/renderopt.c new/gtkwave-3.3.66/src/renderopt.c --- old/gtkwave-3.3.65/src/renderopt.c 2014-07-14 02:42:28.000000000 +0200 +++ new/gtkwave-3.3.66/src/renderopt.c 2015-05-09 01:17:16.000000000 +0200 @@ -43,7 +43,7 @@ for(i=0;i<4;i++) GLOBALS->target_mutex_renderopt_c_1[i]=0; -i = (int)((long)which); +i = (int)((intptr_t)which); GLOBALS->target_mutex_renderopt_c_1[i] = 1; /* mark our choice */ DEBUG(printf("picked: %s\n", render_targets[i])); @@ -57,7 +57,7 @@ for(i=0;i<5;i++) GLOBALS->page_mutex_renderopt_c_1[i]=0; -GLOBALS->page_size_type_renderopt_c_1 = (int)((long)which); +GLOBALS->page_size_type_renderopt_c_1 = (int)((intptr_t)which); GLOBALS->page_mutex_renderopt_c_1[GLOBALS->page_size_type_renderopt_c_1] = 1; /* mark our choice */ DEBUG(printf("picked: %s\n", page_size[GLOBALS->page_size_type_renderopt_c_1])); @@ -71,7 +71,7 @@ for(i=0;i<3;i++) GLOBALS->render_mutex_renderopt_c_1[i]=0; -i = (int)((long)which); +i = (int)((intptr_t)which); GLOBALS->render_mutex_renderopt_c_1[i] = 1; /* mark our choice */ DEBUG(printf("picked: %s\n", render_type[i])); @@ -475,7 +475,7 @@ group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (menuitem)); gtk_menu_append (GTK_MENU (menu), menuitem); gtk_widget_show (menuitem); - gtkwave_signal_connect(GTK_OBJECT (menuitem), "activate", GTK_SIGNAL_FUNC(render_clicked), (void *)((long)i)); + gtkwave_signal_connect(GTK_OBJECT (menuitem), "activate", GTK_SIGNAL_FUNC(render_clicked), (void *)((intptr_t)i)); } GLOBALS->target_mutex_renderopt_c_1[0]=1; /* "ps" */ @@ -494,7 +494,7 @@ group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (menuitem)); gtk_menu_append (GTK_MENU (menu), menuitem); gtk_widget_show (menuitem); - gtkwave_signal_connect(GTK_OBJECT (menuitem), "activate", GTK_SIGNAL_FUNC(pagesize_clicked), (void *)((long)i)); + gtkwave_signal_connect(GTK_OBJECT (menuitem), "activate", GTK_SIGNAL_FUNC(pagesize_clicked), (void *)((intptr_t)i)); GLOBALS->page_mutex_renderopt_c_1[i]=0; } @@ -517,7 +517,7 @@ group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (menuitem)); gtk_menu_append (GTK_MENU (menu), menuitem); gtk_widget_show (menuitem); - gtkwave_signal_connect(GTK_OBJECT (menuitem), "activate", GTK_SIGNAL_FUNC(rendertype_clicked), (void *)((long)i)); + gtkwave_signal_connect(GTK_OBJECT (menuitem), "activate", GTK_SIGNAL_FUNC(rendertype_clicked), (void *)((intptr_t)i)); GLOBALS->render_mutex_renderopt_c_1[i]=0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/savefile.c new/gtkwave-3.3.66/src/savefile.c --- old/gtkwave-3.3.65/src/savefile.c 2014-07-17 22:27:04.000000000 +0200 +++ new/gtkwave-3.3.66/src/savefile.c 2015-06-23 01:32:37.000000000 +0200 @@ -2716,7 +2716,7 @@ /* * block termination if in the middle of something important */ -gboolean deal_with_termination(GtkOSXApplication *app, gpointer user_data) +gboolean deal_with_termination(GtkosxApplication *app, gpointer user_data) { (void)app; (void)user_data; @@ -2736,7 +2736,7 @@ * Integration with Finder... * cache name and load in later off a timer (similar to caching DnD for quartz...) */ -gboolean deal_with_finder_open(GtkOSXApplication *app, gchar *path, gpointer user_data) +gboolean deal_with_finder_open(GtkosxApplication *app, gchar *path, gpointer user_data) { (void)app; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/savefile.h new/gtkwave-3.3.66/src/savefile.h --- old/gtkwave-3.3.65/src/savefile.h 2013-10-25 22:47:00.000000000 +0200 +++ new/gtkwave-3.3.66/src/savefile.h 2015-06-23 01:32:37.000000000 +0200 @@ -28,8 +28,8 @@ char *find_dumpfile(char *orig_save, char *orig_dump, char *this_save); #ifdef MAC_INTEGRATION -gboolean deal_with_finder_open(GtkOSXApplication *app, gchar *path, gpointer user_data); -gboolean deal_with_termination(GtkOSXApplication *app, gpointer user_data); +gboolean deal_with_finder_open(GtkosxApplication *app, gchar *path, gpointer user_data); +gboolean deal_with_termination(GtkosxApplication *app, gpointer user_data); #endif gboolean deal_with_rpc_open(const gchar *path, gpointer user_data); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/search.c new/gtkwave-3.3.66/src/search.c --- old/gtkwave-3.3.65/src/search.c 2014-07-14 02:42:28.000000000 +0200 +++ new/gtkwave-3.3.66/src/search.c 2015-05-09 01:17:16.000000000 +0200 @@ -181,7 +181,7 @@ for(i=0;i<5;i++) GLOBALS->regex_mutex_search_c_1[i]=0; -GLOBALS->regex_which_search_c_1=(int)((long)which); +GLOBALS->regex_which_search_c_1=(int)((intptr_t)which); GLOBALS->regex_mutex_search_c_1[GLOBALS->regex_which_search_c_1] = 1; /* mark our choice */ @@ -1095,7 +1095,7 @@ group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (GLOBALS->menuitem_search[i])); gtk_menu_append (GTK_MENU (menu), GLOBALS->menuitem_search[i]); gtk_widget_show (GLOBALS->menuitem_search[i]); - gtkwave_signal_connect(GTK_OBJECT (GLOBALS->menuitem_search[i]), "activate", GTK_SIGNAL_FUNC(regex_clicked), (void *)((long)i)); + gtkwave_signal_connect(GTK_OBJECT (GLOBALS->menuitem_search[i]), "activate", GTK_SIGNAL_FUNC(regex_clicked), (void *)((intptr_t)i)); GLOBALS->regex_mutex_search_c_1[i]=0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/strace.c new/gtkwave-3.3.66/src/strace.c --- old/gtkwave-3.3.65/src/strace.c 2015-04-01 19:16:12.000000000 +0200 +++ new/gtkwave-3.3.66/src/strace.c 2015-05-09 01:17:16.000000000 +0200 @@ -358,7 +358,7 @@ int i; int numtraces; - GLOBALS->strace_current_window = (int)(long)data; /* arg for which search box going in */ + GLOBALS->strace_current_window = (int)(intptr_t)data; /* arg for which search box going in */ GLOBALS->strace_ctx = &GLOBALS->strace_windows[GLOBALS->strace_current_window]; /* fix problem where ungrab doesn't occur if button pressed + simultaneous accelerator key occurs */ @@ -1407,7 +1407,7 @@ { TimeType basetime=GLOBALS->tims.first; TimeType endtime =MAX_HISTENT_TIME; -int i, notfirst=0; +int notfirst=0; TimeType *t; int t_allocated; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/vcd_recoder.c new/gtkwave-3.3.66/src/vcd_recoder.c --- old/gtkwave-3.3.65/src/vcd_recoder.c 2015-03-10 17:12:25.000000000 +0100 +++ new/gtkwave-3.3.66/src/vcd_recoder.c 2015-05-21 21:22:50.000000000 +0200 @@ -395,7 +395,7 @@ v += vprev; vprev = v; - n->mv.mvlfac_vlist = (struct vlist_t *)(long)(v); + n->mv.mvlfac_vlist = (struct vlist_t *)(intptr_t)(v); vs = vs->next; } @@ -404,7 +404,7 @@ GLOBALS->fastload_current = NULL; /* now create the time table */ -vl = (struct vlist_t *)(long)time_vlist_vcd_recoder_write; +vl = (struct vlist_t *)(intptr_t)time_vlist_vcd_recoder_write; vlist_uncompress(&vl); depacked = pnt = (char *)vlist_packer_decompress(vl, &list_size); vlist_destroy(vl); @@ -504,7 +504,7 @@ shamt += 7; } while(!(ch & 0x80)); -vl = (struct vlist_t *)(long)v; +vl = (struct vlist_t *)(intptr_t)v; vlist_uncompress(&vl); depacked = vlist_packer_decompress(vl, &list_size); vlist_destroy(vl); @@ -1290,7 +1290,10 @@ if((v->vartype!=V_REAL) && (v->vartype!=V_STRINGTYPE)) { - /* ok, typical case */ + if((typ2=='R')||(typ2=='S')) + { + typ2 = 'B'; /* ok, typical case...fix as 'r' on bits variable causes recoder crash during trace extraction */ + } } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gtkwave-3.3.65/src/vcd_saver.c new/gtkwave-3.3.66/src/vcd_saver.c --- old/gtkwave-3.3.65/src/vcd_saver.c 2014-07-17 23:40:47.000000000 +0200 +++ new/gtkwave-3.3.66/src/vcd_saver.c 2015-05-09 01:17:16.000000000 +0200 @@ -142,7 +142,7 @@ static long vcdsav_cmp_l(void *i, void *j) { -long il = (long)i, jl = (long)j; +intptr_t il = (intptr_t)i, jl = (intptr_t)j; return(il - jl); }
