Codebase list gtkwave / b25e2e5
Imported Upstream version 3.3.100 أحمد المحمودي (Ahmed El-Mahmoudy) 5 years ago
20 changed file(s) with 190 addition(s) and 70 deletion(s). Raw diff Collapse all Expand all
16901690 Fix on vtype()/vtype2() to detect 'x' and make the coloration
16911691 red on newly-displayed traces. (Bug new from Dinotrace-like
16921692 rendering in 3.3.96.)
1693 3.3.98 27nov18 Removed pccts and vermin. Use xml2stems instead.
1693 3.3.98 27dec18 Removed pccts and vermin. Use xml2stems instead.
1694 3.3.99 09feb19 Added visible single bit glitches as a yellow dot (if enabled
1695 with --rcvar 'vcd_preserve_glitches on').
1696 Fixed print routine broken by bsearch_trunc() optimization in
1697 version 3.3.96.
1698 3.3.100 20mar19 FSDB fix for variable declarations of array of reals.
1699 Added Real, Time, Enum, and Popcnt flags to Edit/Show-Change.
1700 Ensure Show-Change regenerates analog traces.
1701 Added braces inside Tcl source command to allow spaces in
1702 filenames for Tcl scripts.
00 ##########################################################################
11
2 GTKWave 3.3.98 Wave Viewer is Copyright (C) 1999-2019 Tony Bybell.
2 GTKWave 3.3.100 Wave Viewer is Copyright (C) 1999-2019 Tony Bybell.
33 Portions of GTKWave are Copyright (C) 1999-2019 Udi Finkelstein.
44 Context support is Copyright (C) 2007-2019 Kermin Elliott Fleming.
55 Trace group support is Copyright (C) 2009-2019 Donald Baltus.
1818 You have another version of autoconf. It may work, but is not guaranteed to.
1919 If you have problems, you may need to regenerate the build system entirely.
2020 To do so, use the procedure documented by the package, typically 'autoreconf'.])])
21
22 # Increment this whenever this file is changed.
23 #serial 1
2124
2225 dnl GLIB_GSETTINGS
2326 dnl Defines GSETTINGS_SCHEMAS_INSTALL which controls whether
00 #! /bin/sh
11 # Guess values for system-dependent variables and create Makefiles.
2 # Generated by GNU Autoconf 2.69 for gtkwave 3.3.98.
2 # Generated by GNU Autoconf 2.69 for gtkwave 3.3.100.
33 #
44 # Report bugs to <bybell@rocketmail.com>.
55 #
579579 # Identity of this package.
580580 PACKAGE_NAME='gtkwave'
581581 PACKAGE_TARNAME='gtkwave'
582 PACKAGE_VERSION='3.3.98'
583 PACKAGE_STRING='gtkwave 3.3.98'
582 PACKAGE_VERSION='3.3.100'
583 PACKAGE_STRING='gtkwave 3.3.100'
584584 PACKAGE_BUGREPORT='bybell@rocketmail.com'
585585 PACKAGE_URL=''
586586
14041404 # Omit some internal or obsolete options to make the list less imposing.
14051405 # This message is too long to be a string in the A/UX 3.1 sh.
14061406 cat <<_ACEOF
1407 \`configure' configures gtkwave 3.3.98 to adapt to many kinds of systems.
1407 \`configure' configures gtkwave 3.3.100 to adapt to many kinds of systems.
14081408
14091409 Usage: $0 [OPTION]... [VAR=VALUE]...
14101410
14701470
14711471 if test -n "$ac_init_help"; then
14721472 case $ac_init_help in
1473 short | recursive ) echo "Configuration of gtkwave 3.3.98:";;
1473 short | recursive ) echo "Configuration of gtkwave 3.3.100:";;
14741474 esac
14751475 cat <<\_ACEOF
14761476
16291629 test -n "$ac_init_help" && exit $ac_status
16301630 if $ac_init_version; then
16311631 cat <<\_ACEOF
1632 gtkwave configure 3.3.98
1632 gtkwave configure 3.3.100
16331633 generated by GNU Autoconf 2.69
16341634
16351635 Copyright (C) 2012 Free Software Foundation, Inc.
22732273 This file contains any messages produced by compilers while
22742274 running configure, to aid debugging if configure makes a mistake.
22752275
2276 It was created by gtkwave $as_me 3.3.98, which was
2276 It was created by gtkwave $as_me 3.3.100, which was
22772277 generated by GNU Autoconf 2.69. Invocation command line was
22782278
22792279 $ $0 $@
31403140
31413141 # Define the identity of the package.
31423142 PACKAGE='gtkwave'
3143 VERSION='3.3.98'
3143 VERSION='3.3.100'
31443144
31453145
31463146 cat >>confdefs.h <<_ACEOF
1149811498 # report actual input values of CONFIG_FILES etc. instead of their
1149911499 # values after options handling.
1150011500 ac_log="
11501 This file was extended by gtkwave $as_me 3.3.98, which was
11501 This file was extended by gtkwave $as_me 3.3.100, which was
1150211502 generated by GNU Autoconf 2.69. Invocation command line was
1150311503
1150411504 CONFIG_FILES = $CONFIG_FILES
1156411564 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
1156511565 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
1156611566 ac_cs_version="\\
11567 gtkwave config.status 3.3.98
11567 gtkwave config.status 3.3.100
1156811568 configured by $0, generated by GNU Autoconf 2.69,
1156911569 with options \\"\$ac_cs_config\\"
1157011570
11 # Process this file with autoconf to produce a configure script.
22
33 AC_PREREQ(2.59)
4 AC_INIT(gtkwave, 3.3.98, bybell@rocketmail.com)
4 AC_INIT(gtkwave, 3.3.100, bybell@rocketmail.com)
55 AC_CONFIG_SRCDIR([src/vcd.c])
66 AM_INIT_AUTOMAKE
77 AC_CONFIG_HEADER([config.h])
77 <key>CFBundleExecutable</key>
88 <string>gtkwave</string>
99 <key>CFBundleGetInfoString</key>
10 <string>3.3.98, (C) 1999-2019 Tony Bybell http://gtkwave.sourceforge.net</string>
10 <string>3.3.100, (C) 1999-2019 Tony Bybell http://gtkwave.sourceforge.net</string>
1111 <key>CFBundleIconFile</key>
1212 <string>gtkwave.icns</string>
1313 <key>CFBundleIdentifier</key>
1717 <key>CFBundlePackageType</key>
1818 <string>APPL</string>
1919 <key>CFBundleShortVersionString</key>
20 <string>3.3.98</string>
20 <string>3.3.100</string>
2121 <key>CFBundleSignature</key>
2222 <string>????</string>
2323 <key>CFBundleVersion</key>
24 <string>3.3.98</string>
24 <string>3.3.100</string>
2525 <key>NSHumanReadableCopyright</key>
2626 <string>Copyright 1999 - 2019 Tony Bybell, GNU General Public License.</string>
2727 <key>LSMinimumSystemVersion</key>
243243
244244 return(GLOBALS->maxlen_trunc_pos_bsearch_c_1);
245245 }
246
247
248 char *bsearch_trunc_print(char *ascii, int maxlen)
249 {
250 int len;
251
252 if((maxlen<=0)||(!ascii)||(!(len=strlen(ascii)))) return(NULL);
253
254 GLOBALS->maxlen_trunc=0; GLOBALS->maxlen_trunc_pos_bsearch_c_1=NULL;
255
256 if(bsearch(&maxlen, GLOBALS->trunc_asciibase_bsearch_c_1=ascii, len, sizeof(char), compar_trunc))
257 {
258 /* nothing, all side effects are in bsearch */
259 }
260
261 return(GLOBALS->maxlen_trunc_pos_bsearch_c_1);
262 }
263
246264
247265 /*****************************************************************************************/
248266
1616 hptr bsearch_node(nptr n, TimeType key);
1717 vptr bsearch_vector(bvptr b, TimeType key);
1818 char *bsearch_trunc(char *ascii, int maxlen);
19 char *bsearch_trunc_print(char *ascii, int maxlen);
1920 struct symbol *bsearch_facs(char *ascii, unsigned int *rows_return);
2021
2122 #endif
520520 {
521521 /* if((*pnt == '[')||(isspace(*pnt))) break; */
522522
523 if(isspace(*pnt)) break;
524 if((*pnt == '[') && (pnt == strrchr(pnt, '['))) /* fix for arrays */
523 if(isspace(*pnt)) break;
524 if((*pnt == '[') && (pnt == strrchr(pnt, '[')) && (GLOBALS->mvlfacs_vzt_c_3[i].flags != VZT_RD_SYM_F_DOUBLE)) /* fix for arrays */
525525 {
526526 /* now to fix possible generate... */
527527 char *pnt2 = pnt;
11441144 {
11451145 while(*pnt)
11461146 {
1147 /* if((*pnt == '[')||(isspace(*pnt))) break; */
1148
1149 if(isspace(*pnt)) break;
1150 if((*pnt == '[') && (pnt == strrchr(pnt, '['))) /* fix for arrays */
1147 if(isspace(*pnt))
1148 {
1149 if(fh->u.var.typ == FST_VT_VCD_REAL)
1150 {
1151 pnt++;
1152 continue;
1153 }
1154 else
1155 {
1156 break;
1157 }
1158 }
1159 if((*pnt == '[') && (pnt == strrchr(pnt, '[')) && (fh->u.var.typ != FST_VT_VCD_REAL)) /* fix for arrays */
11511160 {
11521161 /* now to fix possible generate... */
11531162 const char *pnt2 = pnt;
845845 NULL, /* button1_showchange_c_4 363 */
846846 NULL, /* button1_showchange_c_5 363 */
847847 NULL, /* button1_showchange_c_6 363 */
848 NULL, /* button1_showchange_c_7 363 */
849 NULL, /* button1_showchange_c_8 363 */
850 NULL, /* button1_showchange_c_9 363 */
848851 NULL, /* toggle1_showchange_c_1 364 */
849852 NULL, /* toggle2_showchange_c_1 364 */
850853 NULL, /* toggle3_showchange_c_1 364 */
851854 NULL, /* toggle4_showchange_c_1 364 */
855 NULL, /* toggle5_showchange_c_1 364 */
852856 NULL, /* window_showchange_c_8 365 */
853857 NULL, /* cleanup_showchange_c_6 366 */
854858 NULL, /* tcache_showchange_c_1 367 */
848848 GtkWidget *button4_showchange_c_1; /* from showchange.c 385 */
849849 GtkWidget *button5_showchange_c_1; /* from showchange.c 386 */
850850 GtkWidget *button6_showchange_c_1; /* from showchange.c 387 */
851 GtkWidget *button7_showchange_c_1; /* from showchange.c 387 */
852 GtkWidget *button8_showchange_c_1; /* from showchange.c 387 */
853 GtkWidget *button9_showchange_c_1; /* from showchange.c 387 */
851854 GtkWidget *toggle1_showchange_c_1; /* from showchange.c 388 */
852855 GtkWidget *toggle2_showchange_c_1; /* from showchange.c 389 */
853856 GtkWidget *toggle3_showchange_c_1; /* from showchange.c 390 */
854857 GtkWidget *toggle4_showchange_c_1; /* from showchange.c 391 */
858 GtkWidget *toggle5_showchange_c_1; /* from showchange.c 391 */
855859 GtkWidget *window_showchange_c_8; /* from showchange.c 392 */
856860 void (*cleanup_showchange_c_6)(void); /* from showchange.c 393 */
857861 struct TraceEnt *tcache_showchange_c_1; /* from showchange.c 394 */
193193 dwRetVal = GetTempPath(MAX_PATH, lpTempPathBuffer);
194194 if((dwRetVal > MAX_PATH) || (dwRetVal == 0))
195195 {
196 fprintf(stderr, FST_APIMESS"GetTempPath() failed in "__FILE__" line %d, exiting.\n", __LINE__);
196 fprintf(stderr, FST_APIMESS "GetTempPath() failed in " __FILE__ " line %d, exiting.\n", __LINE__);
197197 exit(255);
198198 }
199199 else
201201 uRetVal = GetTempFileName(lpTempPathBuffer, TEXT("FSTW"), 0, szTempFileName);
202202 if (uRetVal == 0)
203203 {
204 fprintf(stderr, FST_APIMESS"GetTempFileName() failed in "__FILE__" line %d, exiting.\n", __LINE__);
204 fprintf(stderr, FST_APIMESS "GetTempFileName() failed in " __FILE__ " line %d, exiting.\n", __LINE__);
205205 exit(255);
206206 }
207207 else
805805 {
806806 xc->fseek_failed = 1;
807807 #ifdef FST_DEBUG
808 fprintf(stderr, FST_APIMESS"Seek to #%" PRId64 " (whence = %d) failed!\n", offset, whence);
808 fprintf(stderr, FST_APIMESS "Seek to #%" PRId64 " (whence = %d) failed!\n", offset, whence);
809809 perror("Why");
810810 #endif
811811 }
16651665 /* fpos += */ fstWriterVarint(f, (zerocnt << 1)); /* scan-build */
16661666 }
16671667 #ifdef FST_DEBUG
1668 fprintf(stderr, FST_APIMESS"value chains: %d\n", cnt);
1668 fprintf(stderr, FST_APIMESS "value chains: %d\n", cnt);
16691669 #endif
16701670
16711671 xc->vchg_mem[0] = '!';
17401740 xc2->size_limit_locked = 1;
17411741 xc2->is_initial_time = 1; /* to trick emit value and emit time change */
17421742 #ifdef FST_DEBUG
1743 fprintf(stderr, FST_APIMESS"<< dump file size limit reached, stopping dumping >>\n");
1743 fprintf(stderr, FST_APIMESS "<< dump file size limit reached, stopping dumping >>\n");
17441744 #endif
17451745 }
17461746 }
24802480 #ifndef FST_WRITER_PARALLEL
24812481 if(xc->parallel_enabled)
24822482 {
2483 fprintf(stderr, FST_APIMESS"fstWriterSetParallelMode(), FST_WRITER_PARALLEL not enabled during compile, exiting.\n");
2483 fprintf(stderr, FST_APIMESS "fstWriterSetParallelMode(), FST_WRITER_PARALLEL not enabled during compile, exiting.\n");
24842484 exit(255);
24852485 }
24862486 #endif
28052805 attr_str[pos-1] = 0;
28062806
28072807 #ifdef FST_DEBUG
2808 fprintf(stderr, FST_APIMESS"fstWriterCreateEnumTable() total_len: %d, pos: %d\n", total_len, pos);
2809 fprintf(stderr, FST_APIMESS"*%s*\n", attr_str);
2808 fprintf(stderr, FST_APIMESS "fstWriterCreateEnumTable() total_len: %d, pos: %d\n", total_len, pos);
2809 fprintf(stderr, FST_APIMESS "*%s*\n", attr_str);
28102810 #endif
28112811
28122812 fstWriterSetAttrBegin(xc, FST_AT_MISC, FST_MT_ENUMTABLE, attr_str, handle = ++xc->max_enumhandle);
28672867 xc->vchg_mem = (unsigned char *)realloc(xc->vchg_mem, xc->vchg_alloc_siz);
28682868 if(!xc->vchg_mem)
28692869 {
2870 fprintf(stderr, FST_APIMESS"Could not realloc() in fstWriterEmitValueChange, exiting.\n");
2870 fprintf(stderr, FST_APIMESS "Could not realloc() in fstWriterEmitValueChange, exiting.\n");
28712871 exit(255);
28722872 }
28732873 }
29812981 xc->vchg_mem = (unsigned char *)realloc(xc->vchg_mem, xc->vchg_alloc_siz);
29822982 if(!xc->vchg_mem)
29832983 {
2984 fprintf(stderr, FST_APIMESS"Could not realloc() in fstWriterEmitVariableLengthValueChange, exiting.\n");
2984 fprintf(stderr, FST_APIMESS "Could not realloc() in fstWriterEmitVariableLengthValueChange, exiting.\n");
29852985 exit(255);
29862986 }
29872987 }
32263226 {
32273227 xc->fseek_failed = 1;
32283228 #ifdef FST_DEBUG
3229 fprintf(stderr, FST_APIMESS"Seek to #%" PRId64 " (whence = %d) failed!\n", offset, whence);
3229 fprintf(stderr, FST_APIMESS "Seek to #%" PRId64 " (whence = %d) failed!\n", offset, whence);
32303230 perror("Why");
32313231 #endif
32323232 }
45464546
45474547 if(rc != Z_OK)
45484548 {
4549 fprintf(stderr, FST_APIMESS"fstReaderInit(), geom uncompress rc = %d, exiting.\n", rc);
4549 fprintf(stderr, FST_APIMESS "fstReaderInit(), geom uncompress rc = %d, exiting.\n", rc);
45504550 exit(255);
45514551 }
45524552
48374837 if((sectype == EOF) || (sectype == FST_BL_SKIP))
48384838 {
48394839 #ifdef FST_DEBUG
4840 fprintf(stderr, FST_APIMESS"<< EOF >>\n");
4840 fprintf(stderr, FST_APIMESS "<< EOF >>\n");
48414841 #endif
48424842 break;
48434843 }
48764876 mem_required_for_traversal = fstReaderUint64(xc->f);
48774877 mem_for_traversal = (unsigned char *)malloc(mem_required_for_traversal + 66); /* add in potential fastlz overhead */
48784878 #ifdef FST_DEBUG
4879 fprintf(stderr, FST_APIMESS"sec: %u seclen: %d begtim: %d endtim: %d\n",
4879 fprintf(stderr, FST_APIMESS "sec: %u seclen: %d begtim: %d endtim: %d\n",
48804880 secnum, (int)seclen, (int)beg_tim, (int)end_tim);
4881 fprintf(stderr, FST_APIMESS"mem_required_for_traversal: %d\n", (int)mem_required_for_traversal);
4881 fprintf(stderr, FST_APIMESS "mem_required_for_traversal: %d\n", (int)mem_required_for_traversal);
48824882 #endif
48834883 /* process time block */
48844884 {
48964896 tsec_clen = fstReaderUint64(xc->f);
48974897 tsec_nitems = fstReaderUint64(xc->f);
48984898 #ifdef FST_DEBUG
4899 fprintf(stderr, FST_APIMESS"time section unc: %d, com: %d (%d items)\n",
4899 fprintf(stderr, FST_APIMESS "time section unc: %d, com: %d (%d items)\n",
49004900 (int)tsec_uclen, (int)tsec_clen, (int)tsec_nitems);
49014901 #endif
49024902 if(tsec_clen > seclen) break; /* corrupted tsec_clen: by definition it can't be larger than size of section */
49164916
49174917 if(rc != Z_OK)
49184918 {
4919 fprintf(stderr, FST_APIMESS"fstReaderIterBlocks2(), tsec uncompress rc = %d, exiting.\n", rc);
4919 fprintf(stderr, FST_APIMESS "fstReaderIterBlocks2(), tsec uncompress rc = %d, exiting.\n", rc);
49204920 exit(255);
49214921 }
49224922
49924992 rc = uncompress(mu, &destlen, mc, sourcelen);
49934993 if(rc != Z_OK)
49944994 {
4995 fprintf(stderr, FST_APIMESS"fstReaderIterBlocks2(), frame uncompress rc: %d, exiting.\n", rc);
4995 fprintf(stderr, FST_APIMESS "fstReaderIterBlocks2(), frame uncompress rc: %d, exiting.\n", rc);
49964996 exit(255);
49974997 }
49984998 free(mc);
51555155 packtype = fgetc(xc->f);
51565156
51575157 #ifdef FST_DEBUG
5158 fprintf(stderr, FST_APIMESS"frame_uclen: %d, frame_clen: %d, frame_maxhandle: %d\n",
5158 fprintf(stderr, FST_APIMESS "frame_uclen: %d, frame_clen: %d, frame_maxhandle: %d\n",
51595159 (int)frame_uclen, (int)frame_clen, (int)frame_maxhandle);
5160 fprintf(stderr, FST_APIMESS"vc_maxhandle: %d, packtype: %c\n", (int)vc_maxhandle, packtype);
5160 fprintf(stderr, FST_APIMESS "vc_maxhandle: %d, packtype: %c\n", (int)vc_maxhandle, packtype);
51615161 #endif
51625162
51635163 indx_pntr = blkpos + seclen - 24 -tsec_clen -8;
51655165 chain_clen = fstReaderUint64(xc->f);
51665166 indx_pos = indx_pntr - chain_clen;
51675167 #ifdef FST_DEBUG
5168 fprintf(stderr, FST_APIMESS"indx_pos: %d (%d bytes)\n", (int)indx_pos, (int)chain_clen);
5168 fprintf(stderr, FST_APIMESS "indx_pos: %d (%d bytes)\n", (int)indx_pos, (int)chain_clen);
51695169 #endif
51705170 chain_cmem = (unsigned char *)malloc(chain_clen);
51715171 if(!chain_cmem) goto block_err;
52845284 }
52855285
52865286 #ifdef FST_DEBUG
5287 fprintf(stderr, FST_APIMESS"decompressed chain idx len: %" PRIu32 "\n", idx);
5287 fprintf(stderr, FST_APIMESS "decompressed chain idx len: %" PRIu32 "\n", idx);
52885288 #endif
52895289
52905290 mc_mem_len = 16384;
53525352
53535353 if(rc != Z_OK)
53545354 {
5355 fprintf(stderr, FST_APIMESS"fstReaderIterBlocks2(), fac: %d clen: %d (rc=%d), exiting.\n", (int)i, (int)val, rc);
5355 fprintf(stderr, FST_APIMESS "fstReaderIterBlocks2(), fac: %d clen: %d (rc=%d), exiting.\n", (int)i, (int)val, rc);
53565356 exit(255);
53575357 }
53585358
59045904 fstReaderUint64(xc->f);
59055905
59065906 #ifdef FST_DEBUG
5907 fprintf(stderr, FST_APIMESS"rvat sec: %u seclen: %d begtim: %d endtim: %d\n",
5907 fprintf(stderr, FST_APIMESS "rvat sec: %u seclen: %d begtim: %d endtim: %d\n",
59085908 secnum, (int)seclen, (int)beg_tim, (int)end_tim);
5909 fprintf(stderr, FST_APIMESS"mem_required_for_traversal: %d\n", (int)mem_required_for_traversal);
5909 fprintf(stderr, FST_APIMESS "mem_required_for_traversal: %d\n", (int)mem_required_for_traversal);
59105910 #endif
59115911
59125912 /* process time block */
59255925 tsec_clen = fstReaderUint64(xc->f);
59265926 tsec_nitems = fstReaderUint64(xc->f);
59275927 #ifdef FST_DEBUG
5928 fprintf(stderr, FST_APIMESS"time section unc: %d, com: %d (%d items)\n",
5928 fprintf(stderr, FST_APIMESS "time section unc: %d, com: %d (%d items)\n",
59295929 (int)tsec_uclen, (int)tsec_clen, (int)tsec_nitems);
59305930 #endif
59315931 ucdata = (unsigned char *)malloc(tsec_uclen);
59425942
59435943 if(rc != Z_OK)
59445944 {
5945 fprintf(stderr, FST_APIMESS"fstReaderGetValueFromHandleAtTime(), tsec uncompress rc = %d, exiting.\n", rc);
5945 fprintf(stderr, FST_APIMESS "fstReaderGetValueFromHandleAtTime(), tsec uncompress rc = %d, exiting.\n", rc);
59465946 exit(255);
59475947 }
59485948
59905990 rc = uncompress(xc->rvat_frame_data, &destlen, mc, sourcelen);
59915991 if(rc != Z_OK)
59925992 {
5993 fprintf(stderr, FST_APIMESS"fstReaderGetValueFromHandleAtTime(), frame decompress rc: %d, exiting.\n", rc);
5993 fprintf(stderr, FST_APIMESS "fstReaderGetValueFromHandleAtTime(), frame decompress rc: %d, exiting.\n", rc);
59945994 exit(255);
59955995 }
59965996 free(mc);
60016001 xc->rvat_packtype = fgetc(xc->f);
60026002
60036003 #ifdef FST_DEBUG
6004 fprintf(stderr, FST_APIMESS"frame_uclen: %d, frame_clen: %d, frame_maxhandle: %d\n",
6004 fprintf(stderr, FST_APIMESS "frame_uclen: %d, frame_clen: %d, frame_maxhandle: %d\n",
60056005 (int)frame_uclen, (int)frame_clen, (int)xc->rvat_frame_maxhandle);
6006 fprintf(stderr, FST_APIMESS"vc_maxhandle: %d\n", (int)xc->rvat_vc_maxhandle);
6006 fprintf(stderr, FST_APIMESS "vc_maxhandle: %d\n", (int)xc->rvat_vc_maxhandle);
60076007 #endif
60086008
60096009 indx_pntr = blkpos + seclen - 24 -tsec_clen -8;
60116011 chain_clen = fstReaderUint64(xc->f);
60126012 indx_pos = indx_pntr - chain_clen;
60136013 #ifdef FST_DEBUG
6014 fprintf(stderr, FST_APIMESS"indx_pos: %d (%d bytes)\n", (int)indx_pos, (int)chain_clen);
6014 fprintf(stderr, FST_APIMESS "indx_pos: %d (%d bytes)\n", (int)indx_pos, (int)chain_clen);
60156015 #endif
60166016 chain_cmem = (unsigned char *)malloc(chain_clen);
60176017 fstReaderFseeko(xc, xc->f, indx_pos, SEEK_SET);
61226122 }
61236123
61246124 #ifdef FST_DEBUG
6125 fprintf(stderr, FST_APIMESS"decompressed chain idx len: %" PRIu32 "\n", idx);
6125 fprintf(stderr, FST_APIMESS "decompressed chain idx len: %" PRIu32 "\n", idx);
61266126 #endif
61276127
61286128 xc->rvat_data_valid = 1;
61826182
61836183 if(rc != Z_OK)
61846184 {
6185 fprintf(stderr, FST_APIMESS"fstReaderGetValueFromHandleAtTime(), rvat decompress clen: %d (rc=%d), exiting.\n", (int)xc->rvat_chain_len, rc);
6185 fprintf(stderr, FST_APIMESS "fstReaderGetValueFromHandleAtTime(), rvat decompress clen: %d (rc=%d), exiting.\n", (int)xc->rvat_chain_len, rc);
61866186 exit(255);
61876187 }
61886188
44804480 t=GLOBALS->showchangeall_menu_c_1;
44814481 if(t)
44824482 {
4483 flags=t->flags;
4483 flags = t->flags & (TR_NUMMASK | TR_HIGHLIGHT);
44844484 while(t)
44854485 {
44864486 if((t->flags&TR_HIGHLIGHT)&&(!(t->flags&(TR_BLANK|TR_ANALOG_BLANK_STRETCH)))&&(t->name))
44874487 {
4488 t->flags=flags;
4488 t->flags = (t->flags & ~(TR_NUMMASK | TR_HIGHLIGHT)) | flags;
4489 t->minmax_valid = 0; /* force analog traces to regenerate if necessary */
44894490 }
44904491 t=t->t_next;
44914492 }
85338534 {
85348535 #if defined(HAVE_LIBTCL)
85358536 int tclrc;
8536 char *tcl_cmd = wave_alloca(7 + nlen + 1); /* originally a malloc, but the script can change the context! */
8537 strcpy(tcl_cmd, "source ");
8538 strcpy(tcl_cmd+7, name);
8537 char *tcl_cmd = wave_alloca(8 + nlen + 1 + 1); /* originally a malloc, but the script can change the context! */
8538 strcpy(tcl_cmd, "source {");
8539 strcpy(tcl_cmd+8, name);
8540 strcpy(tcl_cmd+8+nlen, "}");
85398541
85408542 fprintf(stderr, "GTKWAVE | Executing Tcl script '%s'\n", name);
85418543
22982298 char *mod;
22992299
23002300 mod =
2301 bsearch_trunc (t_ascii,
2301 bsearch_trunc_print (t_ascii,
23022302 width - GLOBALS->vector_padding);
23032303 if (mod)
23042304 {
29822982 char *mod;
29832983
29842984 mod =
2985 bsearch_trunc (t_ascii,
2985 bsearch_trunc_print (t_ascii,
29862986 width - GLOBALS->vector_padding);
29872987 if (mod)
29882988 {
5454
5555 toggle_generic(widget, TR_EXCLUDE);
5656 }
57 static void toggle5_callback(GtkWidget *widget, GtkWidget *nothing)
58 {
59 (void)nothing;
60
61 toggle_generic(widget, TR_POPCNT);
62 }
5763
5864 static void enter_callback(GtkWidget *widget, GtkWidget *nothing)
5965 {
9197 {
9298 GLOBALS->flags_showchange_c_1|=TR_ASCII;
9399 }
100 else
101 if(GTK_TOGGLE_BUTTON(GLOBALS->button7_showchange_c_1)->active)
102 {
103 GLOBALS->flags_showchange_c_1|=TR_REAL;
104 }
105 else
106 if(GTK_TOGGLE_BUTTON(GLOBALS->button8_showchange_c_1)->active)
107 {
108 GLOBALS->flags_showchange_c_1|=(TR_TIME|TR_DEC);
109 }
110 else
111 if(GTK_TOGGLE_BUTTON(GLOBALS->button9_showchange_c_1)->active)
112 {
113 GLOBALS->flags_showchange_c_1|=(TR_ENUM|TR_BIN);
114 }
94115
95116 GLOBALS->tcache_showchange_c_1->flags=GLOBALS->flags_showchange_c_1;
117 GLOBALS->tcache_showchange_c_1->minmax_valid = 0; /* force analog traces to regenerate if necessary */
96118
97119 wave_gtk_grab_remove(GLOBALS->window_showchange_c_8);
98120 gtk_widget_destroy(GLOBALS->window_showchange_c_8);
172194
173195 GLOBALS->button2_showchange_c_1 = gtk_radio_button_new_with_label(group, "Decimal");
174196 gtk_box_pack_start (GTK_BOX (box2), GLOBALS->button2_showchange_c_1, TRUE, TRUE, 0);
175 if(GLOBALS->flags_showchange_c_1&TR_DEC) gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (GLOBALS->button2_showchange_c_1), TRUE);
197 if((GLOBALS->flags_showchange_c_1&TR_DEC) && (!(GLOBALS->flags_showchange_c_1&TR_TIME))) gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (GLOBALS->button2_showchange_c_1), TRUE);
176198 gtk_widget_show (GLOBALS->button2_showchange_c_1);
177199 group = gtk_radio_button_group (GTK_RADIO_BUTTON (GLOBALS->button2_showchange_c_1));
178200
184206
185207 GLOBALS->button3_showchange_c_1 = gtk_radio_button_new_with_label(group, "Binary");
186208 gtk_box_pack_start (GTK_BOX (box2), GLOBALS->button3_showchange_c_1, TRUE, TRUE, 0);
187 if(GLOBALS->flags_showchange_c_1&TR_BIN) gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (GLOBALS->button3_showchange_c_1), TRUE);
209 if((GLOBALS->flags_showchange_c_1&TR_BIN) && (!(GLOBALS->flags_showchange_c_1&TR_ENUM))) gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (GLOBALS->button3_showchange_c_1), TRUE);
188210 gtk_widget_show (GLOBALS->button3_showchange_c_1);
189211 group = gtk_radio_button_group (GTK_RADIO_BUTTON (GLOBALS->button3_showchange_c_1));
190212
198220 gtk_box_pack_start (GTK_BOX (box2), GLOBALS->button6_showchange_c_1, TRUE, TRUE, 0);
199221 if(GLOBALS->flags_showchange_c_1&TR_ASCII) gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (GLOBALS->button6_showchange_c_1), TRUE);
200222 gtk_widget_show (GLOBALS->button6_showchange_c_1);
223 group = gtk_radio_button_group (GTK_RADIO_BUTTON (GLOBALS->button6_showchange_c_1));
224
225 GLOBALS->button7_showchange_c_1 = gtk_radio_button_new_with_label(group, "Real");
226 gtk_box_pack_start (GTK_BOX (box2), GLOBALS->button7_showchange_c_1, TRUE, TRUE, 0);
227 if(GLOBALS->flags_showchange_c_1&TR_ASCII) gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (GLOBALS->button7_showchange_c_1), TRUE);
228 gtk_widget_show (GLOBALS->button7_showchange_c_1);
229 group = gtk_radio_button_group (GTK_RADIO_BUTTON (GLOBALS->button7_showchange_c_1));
230
231 GLOBALS->button8_showchange_c_1 = gtk_radio_button_new_with_label(group, "Time");
232 gtk_box_pack_start (GTK_BOX (box2), GLOBALS->button8_showchange_c_1, TRUE, TRUE, 0);
233 if(GLOBALS->flags_showchange_c_1&TR_ASCII) gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (GLOBALS->button8_showchange_c_1), TRUE);
234 gtk_widget_show (GLOBALS->button8_showchange_c_1);
235 group = gtk_radio_button_group (GTK_RADIO_BUTTON (GLOBALS->button8_showchange_c_1));
236
237 GLOBALS->button9_showchange_c_1 = gtk_radio_button_new_with_label(group, "Enum");
238 gtk_box_pack_start (GTK_BOX (box2), GLOBALS->button9_showchange_c_1, TRUE, TRUE, 0);
239 if(GLOBALS->flags_showchange_c_1&TR_ASCII) gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (GLOBALS->button9_showchange_c_1), TRUE);
240 gtk_widget_show (GLOBALS->button9_showchange_c_1);
201241
202242 frame2 = gtk_frame_new ("Base");
203243 gtk_container_border_width (GTK_CONTAINER (frame2), 3);
242282 gtk_widget_show (GLOBALS->toggle4_showchange_c_1);
243283 gtkwave_signal_connect (GTK_OBJECT (GLOBALS->toggle4_showchange_c_1), "toggled", GTK_SIGNAL_FUNC(toggle4_callback), NULL);
244284
285 GLOBALS->toggle5_showchange_c_1=gtk_check_button_new_with_label("Popcnt");
286 gtk_box_pack_start (GTK_BOX (box1), GLOBALS->toggle5_showchange_c_1, TRUE, TRUE, 0);
287 if(GLOBALS->flags_showchange_c_1&TR_POPCNT)gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(GLOBALS->toggle5_showchange_c_1), TRUE);
288 gtk_widget_show (GLOBALS->toggle5_showchange_c_1);
289 gtkwave_signal_connect (GTK_OBJECT (GLOBALS->toggle5_showchange_c_1), "toggled", GTK_SIGNAL_FUNC(toggle5_callback), NULL);
290
245291 gtk_container_add (GTK_CONTAINER (main_vbox), hbox);
246292
247293 separator = gtk_hseparator_new ();
28752875 {
28762876 int tclrc;
28772877 int nlen = strlen(nam);
2878 char *tcl_cmd = wave_alloca(7 + nlen + 1);
2879 strcpy(tcl_cmd, "source ");
2880 strcpy(tcl_cmd+7, nam);
2878 char *tcl_cmd = wave_alloca(8 + nlen + 1 + 1);
2879 strcpy(tcl_cmd, "source {");
2880 strcpy(tcl_cmd+8, nam);
2881 strcpy(tcl_cmd+8+nlen, "}");
28812882
28822883 GLOBALS->tcl_running = 1;
28832884 tclrc = Tcl_Eval (GLOBALS->interp, tcl_cmd);
29993000 {
30003001 int tclrc;
30013002 int nlen = strlen(GLOBALS->repscript_name);
3002 char *tcl_cmd = wave_alloca(7 + nlen + 1);
3003 strcpy(tcl_cmd, "source ");
3004 strcpy(tcl_cmd+7, GLOBALS->repscript_name);
3003 char *tcl_cmd = wave_alloca(8 + nlen + 1 + 1);
3004 strcpy(tcl_cmd, "source {");
3005 strcpy(tcl_cmd+8, GLOBALS->repscript_name);
3006 strcpy(tcl_cmd+8+nlen, "}");
30053007
30063008 GLOBALS->tcl_running = 1;
30073009 tclrc = Tcl_Eval (GLOBALS->interp, tcl_cmd);
18791879 he->v.h_val=heval;
18801880
18811881 n->curr->next=he;
1882 if(n->curr->v.h_val==heval)
1883 {
1884 n->curr->flags|=HIST_GLITCH; /* set the glitch flag */
1885 GLOBALS->num_glitch_regions_vcd_recoder_c_4++;
1886 }
18821887 n->curr=he;
18831888 GLOBALS->regions+=regadd;
18841889 }
17471747 he->v.h_val=heval;
17481748
17491749 n->curr->next=he;
1750 if(n->curr->v.h_val==heval)
1751 {
1752 n->curr->flags|=HIST_GLITCH; /* set the glitch flag */
1753 GLOBALS->num_glitch_regions_vcd_recoder_c_4++;
1754 }
17501755 n->curr=he;
17511756 GLOBALS->regions+=regadd;
17521757 }
22132213 he->v.h_val=heval;
22142214
22152215 n->curr->next=he;
2216 if(n->curr->v.h_val==heval)
2217 {
2218 n->curr->flags|=HIST_GLITCH; /* set the glitch flag */
2219 GLOBALS->num_glitch_regions_vcd_recoder_c_4++;
2220 }
22162221 n->curr=he;
22172222 GLOBALS->regions+=regadd;
22182223 }
34603460 }
34613461 }
34623462
3463 if((h->flags & HIST_GLITCH) && (GLOBALS->vcd_preserve_glitches))
3464 {
3465 gdk_draw_rectangle(GLOBALS->wavepixmap_wavewindow_c_1, GLOBALS->gc.gc_mid_wavewindow_c_1,
3466 TRUE,_x1-1, yu-1,
3467 3, 3);
3468 }
3469
34633470 h=h->next;
34643471 }
34653472