Hi all, Here is a patch for gtkwave 1.3.81.Given the VCD file "whatever.vcd", gtkwave with this patch will automatically load the SAV file "whatever.sav".
Patch below. Also, is there a CVS (or subversion/arch/darcs/whatever) repository for the 1.3 version of gtkwave? Cheers, Erik --- gtkwave-1.3.81/src/main.c 2005-11-18 15:39:54.000000000 +1100 +++ gtkwave/src/main.c 2006-01-13 10:47:35.000000000 +1100 @@ -169,7 +169,7 @@ char opt_errors_encountered=0; char *fname=NULL; -char *wname=NULL; +char wname [512] ; char *override_rc=NULL; char *winname=NULL; static char *winprefix="GTKWave - "; @@ -289,9 +289,8 @@ break; case 'a': - if(wname) free_2(wname); - wname = malloc_2(strlen(optarg)+1); - strcpy(wname, optarg); + strncpy(wname, optarg, sizeof (wname)); + wname[sizeof (wname)-1] = 0; break; case 'r': @@ -371,10 +370,10 @@ fname = malloc_2(strlen(argv[optind])+1); strcpy(fname, argv[optind++]); } - else if(!wname) + else if(wname [0] != 0) { - wname = malloc_2(strlen(argv[optind])+1); - strcpy(wname, argv[optind++]); + strncpy(wname, argv[optind++], sizeof (wname)); + wname[sizeof(wname)-1] = 0; } else if(!override_rc) { @@ -396,7 +395,7 @@ fprintf(stderr, "\n%s\n\n",WAVE_VERSION_INFO); -if((!wname)&&(make_vcd_save_file)) +if((wname [0] == 0)&&(make_vcd_save_file)) { vcd_save_handle=fopen(vcd_autosave_name,"wb"); errno=0; /* just in case */ @@ -500,14 +499,29 @@ tims.marker=tims.lmbcache=-1; /* uninitialized at first */ tims.baseline=-1; /* middle button toggle marker */ -if((wname)||(vcd_save_handle)) +if (wname [0] == 0) + { + char *cptr; + + strncpy (wname, fname, sizeof (wname)); + wname [sizeof(wname) - 1] = 0; + + if ((cptr = strrchr (wname, '.')) != NULL) + strncpy (cptr, ".sav", sizeof (wname) - (cptr - wname) - 1); + + if (access (wname, R_OK) != 0) + wname [0] = 0; + } + +if((wname [0])||(vcd_save_handle)) { int wave_is_compressed; char *str = NULL; if(vcd_save_handle) { - wname=vcd_autosave_name; + strncpy (wname, vcd_autosave_name, sizeof (wname)); + wname[sizeof(wname)-1] = 0; do_initial_zoom_fit=1; } -- +-----------------------------------------------------------+ Erik de Castro Lopo +-----------------------------------------------------------+ "I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." -- Alan Kay