Hello community,

here is the log from the commit of package gtkwave for openSUSE:Factory checked 
in at 2015-11-26 17:01:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-10-01 
09:29:43.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gtkwave.new/gtkwave.changes     2015-11-26 
17:02:03.000000000 +0100
@@ -1,0 +2,6 @@
+Fri Nov 20 13:17:04 UTC 2015 - dmitr...@opensuse.org
+
+- Update to version 3.3.68
+  * bugfix release, see included ChangeLog file for details
+
+-------------------------------------------------------------------

Old:
----
  gtkwave-3.3.67.tar.gz

New:
----
  gtkwave-3.3.68.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gtkwave.spec ++++++
--- /var/tmp/diff_new_pack.GvJckf/_old  2015-11-26 17:02:04.000000000 +0100
+++ /var/tmp/diff_new_pack.GvJckf/_new  2015-11-26 17:02:04.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           gtkwave
-Version:        3.3.67
+Version:        3.3.68
 Release:        0
 Summary:        Waveform viewer for Ditital Signals
 License:        GPL-2.0+

++++++ gtkwave-3.3.67.tar.gz -> gtkwave-3.3.68.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/AUTHORS new/gtkwave-3.3.68/AUTHORS
--- old/gtkwave-3.3.67/AUTHORS  2014-12-29 21:10:07.000000000 +0100
+++ new/gtkwave-3.3.68/AUTHORS  2015-11-05 04:49:42.000000000 +0100
@@ -1,14 +1,14 @@
-GTKWave Wave Viewer is Copyright (C) 1999-2015 Tony Bybell.
-Windows compatibility and PS/MIF routines 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.
-GHW and additional GUI support is Copyright (C) 2005-2015 Tristan Gingold.
-Analog support is Copyright (C) 2005-2015 Thomas Sailer.
-External DnD support is Copyright (C) 2008-2015 Concept Engineering GmbH.
-FastLZ is Copyright (C) 2005-2015 Ariya Hidayat.
-PCCTS 1.33MR is Copyright (C) 1989-2015 Terence Parr, Russell Quong, Will 
Cohen, Hank Dietz, and Thomas Moog.
+GTKWave Wave Viewer is Copyright (C) 1999-2016 Tony Bybell.
+Windows compatibility and PS/MIF routines are Copyright (C) 1999-2016 Udi 
Finkelstein.
+Context support is Copyright (C) 2007-2016 Kermin Elliott Fleming.
+Trace group support is  Copyright (C) 2009-2016 Donald Baltus.
+GHW and additional GUI support is Copyright (C) 2005-2016 Tristan Gingold.
+Analog support is Copyright (C) 2005-2016 Thomas Sailer.
+External DnD support is Copyright (C) 2008-2016 Concept Engineering GmbH.
+FastLZ is Copyright (C) 2005-2016 Ariya Hidayat.
+PCCTS 1.33MR is Copyright (C) 1989-2016 Terence Parr, Russell Quong, Will 
Cohen, Hank Dietz, and Thomas Moog.
 Some public domain clip art by contributors at http://www.sxc.hu/ website.
 Hierarchy marker icons from the Silk icons set by Mark James found at the 
http://www.famfamfam.com/lab/icons/silk/ website.
 Portions of the TCL implementation, tcl_np.c and tcl_np.h are copyrighted by 
the Regents of the University of California, Sun Microsystems, Inc., Scriptics 
Corporation, ActiveState Corporation, and other parties.
-NSAlert is Copyright (C) 2011-2015 Philipp Mayerhofer.
-LZ4 is Copyright (C) 2011-2015 Yann Collet.
+NSAlert is Copyright (C) 2011-2016 Philipp Mayerhofer.
+LZ4 is Copyright (C) 2011-2016 Yann Collet.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/ChangeLog new/gtkwave-3.3.68/ChangeLog
--- old/gtkwave-3.3.67/ChangeLog        2015-09-25 02:06:03.000000000 +0200
+++ new/gtkwave-3.3.68/ChangeLog        2015-11-19 02:42:19.000000000 +0100
@@ -1516,3 +1516,8 @@
                Compile fixes for renamed functions and defines in gtk osx.
 3.3.67 24sep15 Updated LZ4 for version r131.
                Fixed right justify ascii datatype display.
+3.3.68 18nov15 Update copyright date.
+               Added named markers capability to From: and To: time value
+               input boxes.
+               Added support for fixed point binary numbers for both signed 
+               and unsigned decimal display types.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/LICENSE.TXT 
new/gtkwave-3.3.68/LICENSE.TXT
--- old/gtkwave-3.3.67/LICENSE.TXT      2015-07-05 21:35:36.000000000 +0200
+++ new/gtkwave-3.3.68/LICENSE.TXT      2015-11-05 01:53:59.000000000 +0100
@@ -1,14 +1,14 @@
 ##########################################################################
 
-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.
-GHW and additional GUI support is Copyright (C) 2005-2015 Tristan Gingold.
-Analog support is Copyright (C) 2005-2015 Thomas Sailer.
-External DnD support is Copyright (C) 2008-2015 Concept Engineering GmbH.
-FastLZ is Copyright (C) 2005-2015 Ariya Hidayat.
-LZ4 is Copyright (C) 2011-2015 Yann Collet.
+GTKWave 3.3.68 Wave Viewer is Copyright (C) 1999-2016 Tony Bybell.  
+Portions of GTKWave are Copyright (C) 1999-2016 Udi Finkelstein. 
+Context support is Copyright (C) 2007-2016 Kermin Elliott Fleming.
+Trace group support is  Copyright (C) 2009-2016 Donald Baltus.
+GHW and additional GUI support is Copyright (C) 2005-2016 Tristan Gingold.
+Analog support is Copyright (C) 2005-2016 Thomas Sailer.
+External DnD support is Copyright (C) 2008-2016 Concept Engineering GmbH.
+FastLZ is Copyright (C) 2005-2016 Ariya Hidayat.
+LZ4 is Copyright (C) 2011-2016 Yann Collet.
 
 This program 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
@@ -26,7 +26,7 @@
 
 ##########################################################################
 
-PCCTS 1.33MR is Copyright (C) 1989-2015 Terence Parr, Russell Quong,
+PCCTS 1.33MR is Copyright (C) 1989-2016 Terence Parr, Russell Quong,
        Will Cohen, Hank Dietz, and Thomas Moog.  It is in the public
        domain.  Please read contrib/pccts/RIGHTS for more information.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/configure new/gtkwave-3.3.68/configure
--- old/gtkwave-3.3.67/configure        2015-09-10 23:38:24.000000000 +0200
+++ new/gtkwave-3.3.68/configure        2015-11-05 01:54:35.000000000 +0100
@@ -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.67.
+# Generated by GNU Autoconf 2.69 for gtkwave 3.3.68.
 #
 # Report bugs to <byb...@rocketmail.com>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='gtkwave'
 PACKAGE_TARNAME='gtkwave'
-PACKAGE_VERSION='3.3.67'
-PACKAGE_STRING='gtkwave 3.3.67'
+PACKAGE_VERSION='3.3.68'
+PACKAGE_STRING='gtkwave 3.3.68'
 PACKAGE_BUGREPORT='byb...@rocketmail.com'
 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.67 to adapt to many kinds of systems.
+\`configure' configures gtkwave 3.3.68 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.67:";;
+     short | recursive ) echo "Configuration of gtkwave 3.3.68:";;
    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.67
+gtkwave configure 3.3.68
 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.67, which was
+It was created by gtkwave $as_me 3.3.68, 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.67'
+ VERSION='3.3.68'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -10992,7 +10992,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.67, which was
+This file was extended by gtkwave $as_me 3.3.68, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -11058,7 +11058,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.67
+gtkwave config.status 3.3.68
 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.67/configure.ac 
new/gtkwave-3.3.68/configure.ac
--- old/gtkwave-3.3.67/configure.ac     2015-09-10 23:38:24.000000000 +0200
+++ new/gtkwave-3.3.68/configure.ac     2015-11-05 01:53:59.000000000 +0100
@@ -2,7 +2,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.59)
-AC_INIT(gtkwave, 3.3.67, byb...@rocketmail.com)
+AC_INIT(gtkwave, 3.3.68, byb...@rocketmail.com)
 AC_CONFIG_SRCDIR([src/vcd.c])
 AM_INIT_AUTOMAKE
 AC_CONFIG_HEADER([config.h])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gtkwave-3.3.67/contrib/bundle_for_osx/Info-gtkwave.plist 
new/gtkwave-3.3.68/contrib/bundle_for_osx/Info-gtkwave.plist
--- old/gtkwave-3.3.67/contrib/bundle_for_osx/Info-gtkwave.plist        
2015-07-05 21:34:33.000000000 +0200
+++ new/gtkwave-3.3.68/contrib/bundle_for_osx/Info-gtkwave.plist        
2015-11-05 01:53:59.000000000 +0100
@@ -8,7 +8,7 @@
     <key>CFBundleExecutable</key>
     <string>gtkwave</string>
     <key>CFBundleGetInfoString</key>
-    <string>3.3.66, (C) 1999-2015 Tony Bybell 
http://gtkwave.sourceforge.net</string>
+    <string>3.3.68, (C) 1999-2016 Tony Bybell 
http://gtkwave.sourceforge.net</string>
     <key>CFBundleIconFile</key>
     <string>gtkwave.icns</string>
     <key>CFBundleIdentifier</key>
@@ -18,13 +18,13 @@
     <key>CFBundlePackageType</key>
     <string>APPL</string>
     <key>CFBundleShortVersionString</key>
-    <string>3.3.66</string>
+    <string>3.3.68</string>
     <key>CFBundleSignature</key>
     <string>????</string>
     <key>CFBundleVersion</key>
-    <string>3.3.66</string>
+    <string>3.3.68</string>
     <key>NSHumanReadableCopyright</key>
-    <string>Copyright 1999 - 2015 Tony Bybell, GNU General Public 
License.</string>
+    <string>Copyright 1999 - 2016 Tony Bybell, GNU General Public 
License.</string>
     <key>LSMinimumSystemVersion</key>
     <string>10.6</string>
 
Files old/gtkwave-3.3.67/doc/gtkwave.odt and new/gtkwave-3.3.68/doc/gtkwave.odt 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/src/analyzer.c 
new/gtkwave-3.3.68/src/analyzer.c
--- old/gtkwave-3.3.67/src/analyzer.c   2014-07-12 22:08:15.000000000 +0200
+++ new/gtkwave-3.3.68/src/analyzer.c   2015-11-19 07:58:08.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) Tony Bybell 1999-2014.
+ * Copyright (c) Tony Bybell 1999-2016.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -230,6 +230,8 @@
 {
 GLOBALS->traces.dirty = 1;
 
+t->t_fpdecshift = GLOBALS->default_fpshift;
+
 if((GLOBALS->which_t_color > 0) && (GLOBALS->which_t_color <= 
WAVE_NUM_RAINBOW))
        {
        t->t_color = GLOBALS->which_t_color;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/src/analyzer.h 
new/gtkwave-3.3.68/src/analyzer.h
--- old/gtkwave-3.3.67/src/analyzer.h   2014-07-12 22:08:15.000000000 +0200
+++ new/gtkwave-3.3.68/src/analyzer.h   2015-11-19 02:42:19.000000000 +0100
@@ -500,6 +500,7 @@
     int             t_filter;          /* transaction process filter */
 
     unsigned int t_color;      /* trace color index */
+    unsigned char t_fpdecshift; /* for fixed point decimal */
 
     unsigned is_alias : 1;     /* set when it's an alias (safe to free t->name 
then) */
     unsigned is_depacked : 1;  /* set when it's been depacked from a 
compressed entry (safe to free t->name then) */
@@ -522,7 +523,8 @@
   TR_GRP_END_B,
   TR_BINGRAY_B, TR_GRAYBIN_B,
   TR_REAL2BITS_B, TR_TTRANSLATED_B,
-  TR_POPCNT_B
+  TR_POPCNT_B,
+  TR_FPDECSHIFT_B
 };
 
 #define TR_HIGHLIGHT           (1<<TR_HIGHLIGHT_B)
@@ -566,6 +568,7 @@
 #define TR_TTRANSLATED  (1<<TR_TTRANSLATED_B)
 
 #define TR_POPCNT      (1<<TR_POPCNT_B)
+#define TR_FPDECSHIFT   (1<<TR_FPDECSHIFT_B)
 
 #define TR_ANALOGMASK  (TR_ANALOG_STEP|TR_ANALOG_INTERPOLATED)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/src/baseconvert.c 
new/gtkwave-3.3.68/src/baseconvert.c
--- old/gtkwave-3.3.67/src/baseconvert.c        2015-09-25 02:06:03.000000000 
+0200
+++ new/gtkwave-3.3.68/src/baseconvert.c        2015-11-19 07:58:08.000000000 
+0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) Tony Bybell 1999-2014.
+ * Copyright (c) Tony Bybell 1999-2016.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -168,6 +168,73 @@
 }
 
 
+static void cvt_fpsdec(Trptr t, TimeType val, char *os, int len)
+{
+int shamt = t->t_fpdecshift;
+TimeType lpart = val >> shamt;
+TimeType rmsk = (1 << shamt);
+TimeType rbit = (val >= 0) ? (val & (rmsk-1)) : ((-val) & (rmsk-1));
+double rfrac;
+char dbuf[32];
+char bigbuf[64];
+
+if(rmsk)
+       {
+       rfrac = (double)rbit / (double)rmsk;
+       }
+       else
+       {
+       rfrac = 0.0;
+       }                       
+
+sprintf(dbuf, "%.16g", rfrac);                 
+char *dot = strchr(dbuf, '.');
+if(dot && (dbuf[0] == '0'))
+       {
+       sprintf(bigbuf, TTFormat".%s", lpart, dot+1);
+       strncpy(os, bigbuf, len);
+       os[len-1] = 0;
+       }
+       else
+       {
+       sprintf(os, TTFormat, lpart);
+       }
+}
+
+static void cvt_fpsudec(Trptr t, TimeType val, char *os, int len)
+{
+int shamt = t->t_fpdecshift;
+UTimeType lpart = ((UTimeType)val) >> shamt;
+TimeType rmsk = (1 << shamt);
+TimeType rbit = (val & (rmsk-1));
+double rfrac;
+char dbuf[32];
+char bigbuf[64];
+
+if(rmsk)
+       {
+       rfrac = (double)rbit / (double)rmsk;
+       }
+       else
+       {
+       rfrac = 0.0;
+       }                       
+
+sprintf(dbuf, "%.16g", rfrac);                 
+char *dot = strchr(dbuf, '.');
+if(dot && (dbuf[0] == '0'))
+       {
+       sprintf(bigbuf, UTTFormat".%s", lpart, dot+1);
+       strncpy(os, bigbuf, len);
+       os[len-1] = 0;
+       }
+       else
+       {
+       sprintf(os, UTTFormat, lpart);
+       }
+}
+
+
 /*
  * convert trptr+vptr into an ascii string
  */
@@ -605,7 +672,14 @@
 
        if(!fail)
                {
-               sprintf(os, TTFormat, val);
+               if((flags&TR_FPDECSHIFT)&&(t->t_fpdecshift))
+                       {
+                       cvt_fpsdec(t, val, os, len);
+                       }
+                       else
+                       {
+                       sprintf(os, TTFormat, val);
+                       }
                }
                else
                {
@@ -684,7 +758,14 @@
 
        if(!fail)
                {
-               sprintf(os, UTTFormat, val);
+               if((flags&TR_FPDECSHIFT)&&(t->t_fpdecshift))
+                       {
+                       cvt_fpsudec(t, val, os, len);
+                       }
+                       else
+                       {
+                       sprintf(os, UTTFormat, val);
+                       }
                }
                else
                {
@@ -1293,7 +1374,14 @@
 
        if(!fail)
                {
-               sprintf(os, TTFormat, val);
+               if((flags&TR_FPDECSHIFT)&&(t->t_fpdecshift))
+                       {
+                       cvt_fpsdec(t, val, os, len);
+                       }
+                       else
+                       {
+                       sprintf(os, TTFormat, val);
+                       }
                }
                else
                {
@@ -1372,7 +1460,14 @@
 
        if(!fail)
                {
-               sprintf(os, UTTFormat, val);
+               if((flags&TR_FPDECSHIFT)&&(t->t_fpdecshift))
+                       {
+                       cvt_fpsudec(t, val, os, len);
+                       }
+                       else
+                       {
+                       sprintf(os, UTTFormat, val);
+                       }
                }
                else
                {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/src/currenttime.c 
new/gtkwave-3.3.68/src/currenttime.c
--- old/gtkwave-3.3.67/src/currenttime.c        2014-05-28 06:59:41.000000000 
+0200
+++ new/gtkwave-3.3.68/src/currenttime.c        2015-11-19 02:42:19.000000000 
+0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) Tony Bybell 1999-2008.
+ * Copyright (c) Tony Bybell 1999-2016.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -196,6 +196,22 @@
 int i;
 char *pnt;
 
+if((*s == 'M')||(*s == 'm'))
+       {
+       if(bijective_marker_id_string_len(s+1))
+               {
+               unsigned int mkv = bijective_marker_id_string_hash(s+1);
+               if(mkv < WAVE_NUM_NAMED_MARKERS)
+                       {
+                       TimeType mkvt = GLOBALS->named_markers[mkv];
+                       if(mkvt != -1)
+                               {
+                               return(mkvt);
+                               }
+                       }
+               }
+       }
+
 for(i=0;i<compar_len;i++)
        {
        if((pnt = strchr(s, (int)compar[i])))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/src/currenttime.h 
new/gtkwave-3.3.68/src/currenttime.h
--- old/gtkwave-3.3.67/src/currenttime.h        2014-05-28 06:59:41.000000000 
+0200
+++ new/gtkwave-3.3.68/src/currenttime.h        2015-11-19 02:42:19.000000000 
+0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) Tony Bybell 1999-2010
+ * Copyright (c) Tony Bybell 1999-2016
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/src/globals.c 
new/gtkwave-3.3.68/src/globals.c
--- old/gtkwave-3.3.67/src/globals.c    2015-05-08 05:06:51.000000000 +0200
+++ new/gtkwave-3.3.68/src/globals.c    2015-11-19 07:58:08.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) Kermin Elliott Fleming 2007-2014.
+ * Copyright (c) Kermin Elliott Fleming 2007-2016.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -104,6 +104,7 @@
  * analyzer.c
  */
 TR_RJUSTIFY, /* default_flags 5 */
+0, /* default_fpshift */
 {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0, 0.0}, /* tims 6 */
 {0, 0, NULL, NULL, NULL, NULL, 0, NULL, NULL, 0}, /* traces 9 */
 0, /* hier_max_level 8 */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/src/globals.h 
new/gtkwave-3.3.68/src/globals.h
--- old/gtkwave-3.3.67/src/globals.h    2015-05-08 05:06:51.000000000 +0200
+++ new/gtkwave-3.3.68/src/globals.h    2015-11-19 07:58:08.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) Kermin Elliott Fleming 2007-2014.
+ * Copyright (c) Kermin Elliott Fleming 2007-2016.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -105,6 +105,7 @@
  * analyzer.c
  */
 unsigned int default_flags; /* from analyzer.c 5 */
+unsigned int default_fpshift;
 Times tims; /* from analyzer.c 6 */
 Traces traces; /* from analyzer.c 7 */
 int hier_max_level; /* from analyzer.c 8 */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/src/main.c 
new/gtkwave-3.3.68/src/main.c
--- old/gtkwave-3.3.67/src/main.c       2015-06-23 01:32:37.000000000 +0200
+++ new/gtkwave-3.3.68/src/main.c       2015-11-19 07:58:08.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) Tony Bybell 1999-2014.
+ * Copyright (c) Tony Bybell 1999-2016.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -1664,6 +1664,7 @@
 
                read_save_helper_relative_init(wname);
                GLOBALS->default_flags=TR_RJUSTIFY;
+               GLOBALS->default_fpshift = 0;
                GLOBALS->shift_timebase_default_for_add=LLDescriptor(0);
                GLOBALS->strace_current_window = 0; /* in case there are shadow 
traces */
                GLOBALS->which_t_color = 0;
@@ -1675,6 +1676,7 @@
                        }
                GLOBALS->which_t_color = 0;
                GLOBALS->default_flags=TR_RJUSTIFY;
+               GLOBALS->default_fpshift = 0;
                GLOBALS->shift_timebase_default_for_add=LLDescriptor(0);
 
                if(wave_is_compressed) pclose(wave); else fclose(wave);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/src/markerbox.c 
new/gtkwave-3.3.68/src/markerbox.c
--- old/gtkwave-3.3.67/src/markerbox.c  2015-05-09 01:17:16.000000000 +0200
+++ new/gtkwave-3.3.68/src/markerbox.c  2015-11-19 07:58:08.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) Tony Bybell 1999-2014.
+ * Copyright (c) Tony Bybell 1999-2016.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -45,7 +45,7 @@
 }
 
 
-unsigned int bijective_marker_id_string_hash(char *so)
+unsigned int bijective_marker_id_string_hash(const char *so)
 {
 unsigned int val=0;
 int i;
@@ -70,7 +70,7 @@
 }
 
 
-unsigned int bijective_marker_id_string_len(char *s)
+unsigned int bijective_marker_id_string_len(const char *s)
 {
 int len = 0;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/src/markerbox.h 
new/gtkwave-3.3.68/src/markerbox.h
--- old/gtkwave-3.3.67/src/markerbox.h  2014-06-24 21:40:22.000000000 +0200
+++ new/gtkwave-3.3.68/src/markerbox.h  2015-11-19 02:42:19.000000000 +0100
@@ -28,8 +28,8 @@
 void markerbox(char *title, GtkSignalFunc func);
 
 char *make_bijective_marker_id_string(char *buf, unsigned int value);
-unsigned int bijective_marker_id_string_hash(char *so);
-unsigned int bijective_marker_id_string_len(char *s);
+unsigned int bijective_marker_id_string_hash(const char *so);
+unsigned int bijective_marker_id_string_len(const char *s);
 
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/src/menu.c 
new/gtkwave-3.3.68/src/menu.c
--- old/gtkwave-3.3.67/src/menu.c       2015-06-23 01:32:37.000000000 +0200
+++ new/gtkwave-3.3.68/src/menu.c       2015-11-19 07:58:08.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) Tony Bybell 1999-2014.
+ * Copyright (c) Tony Bybell 1999-2016.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -6530,6 +6530,118 @@
 }
 
 void
+menu_dataformat_fpshift_on(gpointer null_data, guint callback_action, 
GtkWidget *widget)
+{
+(void)null_data;
+(void)callback_action;
+(void)widget;
+
+if(GLOBALS->helpbox_is_active)
+        {
+        help_text_bold("\n\nData Format-Fixed Point Shift-On");
+        help_text(
+                " will step through all highlighted traces and ensure that"
+                " bits and vectors with this qualifier will be right shifted"
+               " prior to being displayed as Signed Decimal or Decimal values."
+        );
+        return;
+        }
+
+dataformat( ~(TR_FPDECSHIFT), TR_FPDECSHIFT );
+}
+
+void
+menu_dataformat_fpshift_off(gpointer null_data, guint callback_action, 
GtkWidget *widget)
+{
+(void)null_data;
+(void)callback_action;
+(void)widget;
+
+if(GLOBALS->helpbox_is_active)
+        {
+        help_text_bold("\n\nData Format-Fixed Point Shift-Off");
+        help_text(
+                " will step through all highlighted traces and ensure that"
+                " bits and vectors with this qualifier will not be right 
shifted"
+               " prior to being displayed as Signed Decimal or Decimal values."
+        );
+        return;
+        }
+
+dataformat( ~(TR_FPDECSHIFT), 0 );
+}
+
+
+static void
+menu_dataformat_fpshift_specify_cleanup(GtkWidget *widget, gpointer data)
+{
+(void)widget;
+(void)data;
+
+  Trptr t;
+  int fix=0;
+  int shamt = GLOBALS->entrybox_text ? atoi(GLOBALS->entrybox_text) : 0;
+  int mask = ~(TR_FPDECSHIFT);
+  int patch = TR_FPDECSHIFT;
+
+  if((shamt < 0)||(shamt > 255)) { shamt = 0; patch = 0; }
+
+  if((t=GLOBALS->traces.first))
+    {
+      while(t)
+       {
+         if(IsSelected(t)&&!IsShadowed(t))
+           {
+             t->minmax_valid = 0; /* force analog traces to regenerate if 
necessary */
+
+             t->t_fpdecshift = shamt;
+             t->flags=((t->flags)&mask)|patch;
+             fix=1;
+           }
+         t=t->t_next;
+       }
+      if(fix)
+       {
+         GLOBALS->signalwindow_width_dirty=1;
+         MaxSignalLength();
+         signalarea_configure_event(GLOBALS->signalarea, NULL);
+         wavearea_configure_event(GLOBALS->wavearea, NULL);
+       }
+    }
+
+if(GLOBALS->entrybox_text) { free_2(GLOBALS->entrybox_text); 
GLOBALS->entrybox_text=NULL; }
+GLOBALS->signalwindow_width_dirty=1;
+MaxSignalLength();
+signalarea_configure_event(GLOBALS->signalarea, NULL);
+wavearea_configure_event(GLOBALS->wavearea, NULL);
+}
+
+
+void
+menu_dataformat_fpshift_specify(gpointer null_data, guint callback_action, 
GtkWidget *widget)
+{
+(void)null_data;
+(void)callback_action;
+(void)widget;
+
+if(GLOBALS->helpbox_is_active)
+        {
+        help_text_bold("\n\nData Format-Fixed Point Shift-Specify");
+        help_text(
+               " will open up a requester to specify a shift count then"
+                " will step through all highlighted traces and ensure that"
+                " bits and vectors with this qualifier will be right shifted"
+               " prior to being displayed as Signed Decimal or Decimal values."
+        );
+        return;
+        }
+
+entrybox("Fixed Point Shift 
Specify",300,"",NULL,128,GTK_SIGNAL_FUNC(menu_dataformat_fpshift_specify_cleanup));
+
+dataformat( ~(TR_FPDECSHIFT), 0 );
+}
+
+void
 menu_dataformat_invert_on(gpointer null_data, guint callback_action, GtkWidget 
*widget)
 {
 (void)null_data;
@@ -7332,6 +7444,7 @@
                " P = Process Filter\n"
                " T = Transaction Filter\n"
                " p = Population Count\n"
+               " s = Fixed Point Shift (count)\n"
         );
         }
        else
@@ -7465,6 +7578,9 @@
     WAVE_GTKIFE("/Edit/Data Format/Gray Filters/None", NULL, 
menu_dataformat_nogray,    WV_MENU_GBNONE, "<Item>"),
     WAVE_GTKIFE("/Edit/Data Format/Popcnt/On", NULL, 
menu_dataformat_popcnt_on, WV_MENU_POPON, "<Item>"),
     WAVE_GTKIFE("/Edit/Data Format/Popcnt/Off", NULL, 
menu_dataformat_popcnt_off,    WV_MENU_POPOFF, "<Item>"),
+    WAVE_GTKIFE("/Edit/Data Format/Fixed Point Shift/On", NULL, 
menu_dataformat_fpshift_on, WV_MENU_FPSHIFTON, "<Item>"),
+    WAVE_GTKIFE("/Edit/Data Format/Fixed Point Shift/Off", NULL, 
menu_dataformat_fpshift_off,    WV_MENU_FPSHIFTOFF, "<Item>"),
+    WAVE_GTKIFE("/Edit/Data Format/Fixed Point Shift/Specify", NULL, 
menu_dataformat_fpshift_specify,    WV_MENU_FPSHIFTVAL, "<Item>"),
 
     WAVE_GTKIFE("/Edit/Color Format/Normal", NULL, menu_colorformat_0,    
WV_MENU_CLRFMT0, "<Item>"),
     WAVE_GTKIFE("/Edit/Color Format/Red", NULL, menu_colorformat_1,    
WV_MENU_CLRFMT1, "<Item>"),
@@ -8134,6 +8250,9 @@
     WAVE_GTKIFE("/Data Format/Gray Filters/None", NULL, 
menu_dataformat_nogray,    WV_MENU_GBNONE, "<Item>"),
     WAVE_GTKIFE("/Data Format/Popcnt/On", NULL, menu_dataformat_popcnt_on, 
WV_MENU_POPON, "<Item>"),
     WAVE_GTKIFE("/Data Format/Popcnt/Off", NULL, menu_dataformat_popcnt_off,   
 WV_MENU_POPOFF, "<Item>"),
+    WAVE_GTKIFE("/Data Format/Fixed Point Shift/On", NULL, 
menu_dataformat_fpshift_on, WV_MENU_FPSHIFTON, "<Item>"),
+    WAVE_GTKIFE("/Data Format/Fixed Point Shift/Off", NULL, 
menu_dataformat_fpshift_off,    WV_MENU_FPSHIFTOFF, "<Item>"),
+    WAVE_GTKIFE("/Data Format/Fixed Point Shift/Specify", NULL, 
menu_dataformat_fpshift_specify,    WV_MENU_FPSHIFTVAL, "<Item>"),
 
     WAVE_GTKIFE("/Color Format/Normal", NULL, menu_colorformat_0,    
WV_MENU_CLRFMT0, "<Item>"),
     WAVE_GTKIFE("/Color Format/Red", NULL, menu_colorformat_1,    
WV_MENU_CLRFMT1, "<Item>"),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/src/menu.h 
new/gtkwave-3.3.68/src/menu.h
--- old/gtkwave-3.3.67/src/menu.h       2014-08-20 00:08:35.000000000 +0200
+++ new/gtkwave-3.3.68/src/menu.h       2015-11-19 02:42:19.000000000 +0100
@@ -162,6 +162,9 @@
 WV_MENU_GBNONE,
 WV_MENU_POPON,
 WV_MENU_POPOFF,
+WV_MENU_FPSHIFTON,
+WV_MENU_FPSHIFTOFF,
+WV_MENU_FPSHIFTVAL,
 WV_MENU_CLRFMT0,
 WV_MENU_CLRFMT1,
 WV_MENU_CLRFMT2,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/src/mouseover.c 
new/gtkwave-3.3.68/src/mouseover.c
--- old/gtkwave-3.3.67/src/mouseover.c  2014-05-28 06:59:41.000000000 +0200
+++ new/gtkwave-3.3.68/src/mouseover.c  2015-11-19 02:42:19.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) Tony Bybell 2006-2014.
+ * Copyright (c) Tony Bybell 2006-2016.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -25,8 +25,9 @@
 
 
/************************************************************************************************/
 
-static int determine_trace_flags(unsigned int flags, char *ch)
+static int determine_trace_flags(Trptr t, char *ch)
 {
+unsigned int flags = t->flags;
 int pos = 0;
 
 /* [0] */
@@ -85,7 +86,14 @@
 /* [14] */
 if((flags & TR_POPCNT) != 0) { ch[pos++] = 'p'; }
 
-/* [15]  (at worst case this needs 16 characters) */
+/* [15] */
+if((flags & TR_FPDECSHIFT) != 0)
+        {       
+        int ln = sprintf(ch+pos, "s(%d)", t->t_fpdecshift);
+        pos += ln;
+        }
+
+/* [16+] */
 ch[pos] = 0;
 
 return(pos);
@@ -289,7 +297,7 @@
        name_charlen = t->name ? strlen(t->name) : 0;
        if(name_charlen)
                {
-               int len = determine_trace_flags(t->flags, flag_string);
+               int len = determine_trace_flags(t, flag_string);
                flagged_name = malloc_2(name_charlen + 1 + len + 1);
                memcpy(flagged_name, t->name, name_charlen);
                flagged_name[name_charlen] = ' ';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/src/mouseover_sigs.c 
new/gtkwave-3.3.68/src/mouseover_sigs.c
--- old/gtkwave-3.3.67/src/mouseover_sigs.c     2014-05-28 06:59:41.000000000 
+0200
+++ new/gtkwave-3.3.68/src/mouseover_sigs.c     2015-11-19 02:42:19.000000000 
+0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) Tony Bybell 2006-2014.
+ * Copyright (c) Tony Bybell 2006-2016.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -112,7 +112,14 @@
 /* [14] */
 if((flags & TR_POPCNT) != 0) { ch[pos++] = 'p'; }
 
-/* [15]  (at worst case this needs 16 characters) */
+/* [15] */
+if((flags & TR_FPDECSHIFT) != 0) 
+       { 
+       int ln = sprintf(ch+pos, "s(%d)", t->t_fpdecshift);
+       pos += ln;
+       }
+
+/* [16+] */
 ch[pos] = 0;
 
 if(!t->vector)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/src/savefile.c 
new/gtkwave-3.3.68/src/savefile.c
--- old/gtkwave-3.3.67/src/savefile.c   2015-06-23 01:32:37.000000000 +0200
+++ new/gtkwave-3.3.68/src/savefile.c   2015-11-19 07:58:08.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) Tony Bybell 2012-2013.
+ * Copyright (c) Tony Bybell 2012-2016.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -270,6 +270,10 @@
                                {
                                fprintf(wave, "[color] %d\n", t->t_color);
                                }
+                       if(t->flags & TR_FPDECSHIFT)
+                               {
+                               fprintf(wave, "[fpshift_count] %d\n", 
t->t_fpdecshift);
+                               }
 
                        if(t->flags & TR_FTRANSLATED)
                                {
@@ -810,6 +814,7 @@
                        }
 
                 GLOBALS->default_flags=TR_RJUSTIFY;
+                GLOBALS->default_fpshift=0;
                GLOBALS->shift_timebase_default_for_add=LLDescriptor(0);
                GLOBALS->strace_current_window = 0; /* in case there are shadow 
traces */
 
@@ -846,6 +851,7 @@
                        }
 
                 GLOBALS->default_flags=TR_RJUSTIFY;
+                GLOBALS->default_fpshift=0;
                GLOBALS->shift_timebase_default_for_add=LLDescriptor(0);
                update_markertime(GLOBALS->tims.marker);
                 if(wave_is_compressed) pclose(wave); else fclose(wave);
@@ -1569,6 +1575,16 @@
                GLOBALS->which_t_color = 0;
                }
       }
+    else if (strcmp (w2, "fpshift_count") == 0)
+      {
+      int fpshift_count = 0;
+      sscanf (w, "%d", &fpshift_count);
+      if((fpshift_count<0)||(fpshift_count>255))
+               {
+               fpshift_count = 0;
+               }
+      GLOBALS->default_fpshift = fpshift_count;
+      }
     else if (strcmp (w2, "pattern_trace") == 0)
       {
       int which_ctx = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/src/tcl_helper.c 
new/gtkwave-3.3.68/src/tcl_helper.c
--- old/gtkwave-3.3.67/src/tcl_helper.c 2014-08-11 02:38:54.000000000 +0200
+++ new/gtkwave-3.3.68/src/tcl_helper.c 2015-11-19 07:58:08.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) Tony Bybell and Concept Engineering GmbH 2008-2014.
+ * Copyright (c) Tony Bybell and Concept Engineering GmbH 2008-2016.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -896,6 +896,7 @@
 most_recent_lbrack_list = calloc_2(c, sizeof(char *));
 
 GLOBALS->default_flags=TR_RJUSTIFY;
+GLOBALS->default_fpshift=0;
 
 GLOBALS->strace_current_window = 0; /* in case there are shadow traces; in 
reality this should never happen */
 
@@ -1214,6 +1215,7 @@
 paste_routine:
 
 GLOBALS->default_flags=TR_RJUSTIFY;
+GLOBALS->default_fpshift=0;
 
 GLOBALS->traces.buffercount=GLOBALS->traces.total;
 GLOBALS->traces.buffer=GLOBALS->traces.first;
@@ -2046,6 +2048,12 @@
                        WAVE_OE_ME
                        }
 
+               if(t->t_fpdecshift)
+                       {
+                       one_entry = make_message("[fpshift_count] %d\n", 
t->t_fpdecshift);
+                       WAVE_OE_ME
+                       }
+
                if((t->shift)||((prevshift)&&(!t->shift)))
                        {
                        one_entry = make_message(">"TTFormat"\n", t->shift);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/src/timeentry.c 
new/gtkwave-3.3.68/src/timeentry.c
--- old/gtkwave-3.3.67/src/timeentry.c  2014-07-14 02:42:28.000000000 +0200
+++ new/gtkwave-3.3.68/src/timeentry.c  2015-11-19 02:42:19.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) Tony Bybell 1999-2008
+ * Copyright (c) Tony Bybell 1999-2016
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -100,7 +100,7 @@
 newhi=unformat_time(entry_text, GLOBALS->time_dimension);
 newhi -= GLOBALS->global_time_offset;
 
-if(newhi>GLOBALS->max_time)
+if((newhi>GLOBALS->max_time) || (!strlen(entry_text))) /* null string makes 
max time */
        {
        newhi=GLOBALS->max_time;
        }
@@ -150,7 +150,7 @@
 gtk_widget_show(label);
 gtk_box_pack_start(GTK_BOX(box), GLOBALS->from_entry, TRUE, TRUE, 0);
 gtk_widget_set_usize(GTK_WIDGET(GLOBALS->from_entry), 90, 22);
-gtk_tooltips_set_tip_2(tooltips, GLOBALS->from_entry, "Scroll Lower Bound", 
NULL);
+gtk_tooltips_set_tip_2(tooltips, GLOBALS->from_entry, "Scroll Lower Bound (use 
MX for named marker X)", NULL);
 gtk_widget_show(GLOBALS->from_entry);
 
 
@@ -166,7 +166,7 @@
 gtk_widget_show(label2);
 gtk_box_pack_start(GTK_BOX(box2), GLOBALS->to_entry, TRUE, TRUE, 0);
 gtk_widget_set_usize(GTK_WIDGET(GLOBALS->to_entry), 90, 22);
-gtk_tooltips_set_tip_2(tooltips, GLOBALS->to_entry, "Scroll Upper Bound", 
NULL);
+gtk_tooltips_set_tip_2(tooltips, GLOBALS->to_entry, "Scroll Upper Bound (use 
MX for named marker X)", NULL);
 gtk_widget_show(GLOBALS->to_entry);
 
 if(!GLOBALS->use_toolbutton_interface)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.67/src/version.h 
new/gtkwave-3.3.68/src/version.h
--- old/gtkwave-3.3.67/src/version.h    2015-03-10 19:55:01.000000000 +0100
+++ new/gtkwave-3.3.68/src/version.h    2015-11-05 04:49:42.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) Tony Bybell 2010-2015.
+ * Copyright (c) Tony Bybell 2010-2016.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -10,6 +10,6 @@
 #ifndef WAVE_VERSION_H
 #define WAVE_VERSION_H
 
-#define WAVE_VERSION_INFO "GTKWave Analyzer v" PACKAGE_VERSION " (w)1999-2015 
BSI"
+#define WAVE_VERSION_INFO "GTKWave Analyzer v" PACKAGE_VERSION " (w)1999-2016 
BSI"
 
 #endif


Reply via email to