*** xdatplot-0.2/patchlevel.h Mon Mar 28 17:05:42 1994 --- xdatplot-0.2.1/patchlevel.h Mon Mar 28 12:03:16 1994 *************** *** 0 **** --- 1 ---- + #define PATCHLEVEL 1 *** xdatplot-0.2/ChangeLog Mon Mar 28 00:49:33 1994 --- xdatplot-0.2.1/ChangeLog Mon Mar 28 16:09:22 1994 *************** *** 1,5 **** --- 1,25 ---- Mon Mar 28 00:48:45 1994 Leon Avery (leon@eatworms.swmed.edu) + * xdatplot.c (dup_strings): duplicate all String application + resources, so they can later be freed without messing the heap. + Got rid of helpPrintCommand resource, which is no longer used. + + * Imakefile.in: Added targets to build distribution. + + * patchlevel.h: created. + + * help/accbin.html: Fixed documentation to cover a screw-up in + ACCBIN format #2. Wayne wrote in the description that there were + 144 floating-point channel parameters at offset 61, 576 bytes. + That was a mistake: it was 36 numbers, 144 bytes. When I + discovered this error, I made another: I fixed ACCBIN, not the + documentation. Before I realized the error, I had released + xdatplot-0.2. So I've decided, rather than change the file format + and cause possible file compatibility problems, I'll just fix the + documentation and call those extra 432 bytes "reserved". + + * released xdatplot-0.2. + * Vt.c: Added Wayne's new ACCBIN as native format. * asc2bin.c: Changed to use Wayne's new ACCBIN. *** xdatplot-0.2/Imakefile Mon Mar 28 01:25:56 1994 --- xdatplot-0.2.1/Imakefile Mon Mar 28 16:19:10 1994 *************** *** 74,79 **** --- 74,88 ---- BINDIR = /usr/local/bin + BINDIST = SunOS4.1.3_binaries + VERSION:sh = echo $PWD | sed -e 's/^.*\/\([^\/]*\)$/\1/' + DISTHELPDIR = $(VERSION)_help + DISTSOURCE = $(VERSION).tar + EXCLUDE = $(BINDIST) $(PROGRAMS) \ + $(DISTHELPDIR) $(DISTHELPDIR).tar $(DISTHELPDIR).tar.gz \ + $(DISTSOURCE) $(DISTSOURCE).gz \ + dist exclude + SRCS1 = xdatplot.c files.c mainw.c fildialog.c control.c \ plot.c help.c marks.c mif.c ps.c conversion.c filter.c \ units.c xdp.c peaks.c Vt.c run.c *************** *** 83,92 **** all:: $(PROGRAMS) - distclean: clean - $(RM) $(PROGRAMS) file2c - (cd help; $(RM_CMD) "#"*) - CleanTarget() InstallMultiple($(PROGRAMS) $(SCRIPTS), $(BINDIR)) --- 92,97 ---- *************** *** 105,114 **** MakeDir($(DESTDIR)$(XAPPLOADDIR)) $(INSTALL) $(INSTAPPFLAGS) XDatplot.ad $(DESTDIR)$(XAPPLOADDIR)/XDatplot ! /* ! Makefile:: Imakefile ! (cd $(srcdir); xmkmf -a) ! */ Imakefile: Imakefile.in config.status $(SHELL) config.status --- 110,157 ---- MakeDir($(DESTDIR)$(XAPPLOADDIR)) $(INSTALL) $(INSTAPPFLAGS) XDatplot.ad $(DESTDIR)$(XAPPLOADDIR)/XDatplot ! distclean: clean ! $(RM) $(PROGRAMS) file2c ! (cd help; $(RM_CMD) "#"*) ! ! realclean: distclean ! $(RM) -rf $(EXCLUDE) *.tar *.tar.gz ! ! help.tar.gz: distclean ! mkdir $(VERSION)_help ! (cd help; tar cf - *) | (cd $(VERSION)_help; tar xf -) ! tar cf $(VERSION)_help.tar $(VERSION)_help ! nice gzip -v $(VERSION)_help.tar ! ! binaries: distclean ! $(MAKE) CDEBUGFLAGS=-O2 BINDING=-static $(PROGRAMS) ! strip $(PROGRAMS) ! $(RM) -rf $(BINDIST) ! mkdir $(BINDIST) ! $(MV) $(PROGRAMS) $(BINDIST) ! $(CP) $(SCRIPTS) $(BINDIST) ! (cd $(BINDIST); nice gzip -v *) ! $(MAKE) clean ! ! XDatplot.ad.gz: XDatplot.ad ! nice gzip -cv XDatplot.ad > XDatplot.ad.gz ! ! xdatplot.tar.gz: distclean ! for i in $(EXCLUDE); do \ ! echo $$i >>exclude; \ ! done ! (cd ..; tar cXf $(VERSION)/exclude $(VERSION)/$(DISTSOURCE) $(VERSION)) ! $(RM) exclude $(DISTSOURCE).gz ! nice gzip -v $(DISTSOURCE) ! ! dist: distclean COPYING README binaries XDatplot.ad.gz xdatplot.tar.gz help.tar.gz ! $(RM) -rf dist ! mkdir dist ! $(MV) $(BINDIST) XDatplot.ad.gz $(DISTSOURCE).gz $(DISTHELPDIR) $(DISTHELPDIR).tar.gz dist ! $(CP) README COPYING dist ! mkdir dist/Data; (cd Data; tar cf - .) | (cd dist/Data; tar xf -) ! (cd dist; $(LN) $(DISTHELPDIR) xdatplot_help) ! (cd dist; $(LN) $(DISTHELPDIR).tar.gz xdatplot_help.tar.gz) Imakefile: Imakefile.in config.status $(SHELL) config.status *** xdatplot-0.2/Imakefile.in Sun Mar 27 12:10:56 1994 --- xdatplot-0.2.1/Imakefile.in Mon Mar 28 12:38:06 1994 *************** *** 73,78 **** --- 73,87 ---- @bindir_is_where@ + BINDIST = SunOS4.1.3_binaries + VERSION:sh = echo $PWD | sed -e 's/^.*\/\([^\/]*\)$/\1/' + DISTHELPDIR = $(VERSION)_help + DISTSOURCE = $(VERSION).tar + EXCLUDE = $(BINDIST) $(PROGRAMS) \ + $(DISTHELPDIR) $(DISTHELPDIR).tar $(DISTHELPDIR).tar.gz \ + $(DISTSOURCE) $(DISTSOURCE).gz \ + dist exclude + SRCS1 = xdatplot.c files.c mainw.c fildialog.c control.c \ plot.c help.c marks.c mif.c ps.c conversion.c filter.c \ units.c xdp.c peaks.c Vt.c run.c *************** *** 82,91 **** all:: $(PROGRAMS) - distclean: clean - $(RM) $(PROGRAMS) file2c - (cd help; $(RM_CMD) "#"*) - CleanTarget() InstallMultiple($(PROGRAMS) $(SCRIPTS), $(BINDIR)) --- 91,96 ---- *************** *** 104,113 **** MakeDir($(DESTDIR)$(XAPPLOADDIR)) $(INSTALL) $(INSTAPPFLAGS) XDatplot.ad $(DESTDIR)$(XAPPLOADDIR)/XDatplot ! /* ! Makefile:: Imakefile ! (cd $(srcdir); xmkmf -a) ! */ Imakefile: Imakefile.in config.status $(SHELL) config.status --- 109,156 ---- MakeDir($(DESTDIR)$(XAPPLOADDIR)) $(INSTALL) $(INSTAPPFLAGS) XDatplot.ad $(DESTDIR)$(XAPPLOADDIR)/XDatplot ! distclean: clean ! $(RM) $(PROGRAMS) file2c ! (cd help; $(RM_CMD) "#"*) ! ! realclean: distclean ! $(RM) -rf $(EXCLUDE) *.tar *.tar.gz ! ! help.tar.gz: distclean ! mkdir $(VERSION)_help ! (cd help; tar cf - *) | (cd $(VERSION)_help; tar xf -) ! tar cf $(VERSION)_help.tar $(VERSION)_help ! nice gzip -v $(VERSION)_help.tar ! ! binaries: distclean ! $(MAKE) CDEBUGFLAGS=-O2 BINDING=-static $(PROGRAMS) ! strip $(PROGRAMS) ! $(RM) -rf $(BINDIST) ! mkdir $(BINDIST) ! $(MV) $(PROGRAMS) $(BINDIST) ! $(CP) $(SCRIPTS) $(BINDIST) ! (cd $(BINDIST); nice gzip -v *) ! $(MAKE) clean ! ! XDatplot.ad.gz: XDatplot.ad ! nice gzip -cv XDatplot.ad > XDatplot.ad.gz ! ! xdatplot.tar.gz: distclean ! for i in $(EXCLUDE); do \ ! echo $$i >>exclude; \ ! done ! (cd ..; tar cXf $(VERSION)/exclude $(VERSION)/$(DISTSOURCE) $(VERSION)) ! $(RM) exclude $(DISTSOURCE).gz ! nice gzip -v $(DISTSOURCE) ! ! dist: distclean COPYING README binaries XDatplot.ad.gz xdatplot.tar.gz help.tar.gz ! $(RM) -rf dist ! mkdir dist ! $(MV) $(BINDIST) XDatplot.ad.gz $(DISTSOURCE).gz $(DISTHELPDIR) $(DISTHELPDIR).tar.gz dist ! $(CP) README COPYING dist ! mkdir dist/Data; (cd Data; tar cf - .) | (cd dist/Data; tar xf -) ! (cd dist; $(LN) $(DISTHELPDIR) xdatplot_help) ! (cd dist; $(LN) $(DISTHELPDIR).tar.gz xdatplot_help.tar.gz) Imakefile: Imakefile.in config.status $(SHELL) config.status *** xdatplot-0.2/Makefile Sun Mar 27 12:35:34 1994 --- xdatplot-0.2.1/Makefile Mon Mar 28 12:27:59 1994 *************** *** 16,22 **** # $RCSfile: Imake.tmpl,v $ $Revision: 1.4.2.5 $ $Date: 1992/04/03 19:45:35 $ # ------------------------------------------------------------------------- ! # Makefile generated from "Imake.tmpl" and # $XConsortium: Imake.tmpl,v 1.139 91/09/16 08:52:48 rws Exp $ # # Platform-specific parameters may be set in the appropriate .cf --- 16,22 ---- # $RCSfile: Imake.tmpl,v $ $Revision: 1.4.2.5 $ $Date: 1992/04/03 19:45:35 $ # ------------------------------------------------------------------------- ! # Makefile generated from "Imake.tmpl" and # $XConsortium: Imake.tmpl,v 1.139 91/09/16 08:52:48 rws Exp $ # # Platform-specific parameters may be set in the appropriate .cf *************** *** 422,427 **** --- 422,436 ---- BINDIR = /usr/local/bin + BINDIST = SunOS4.1.3_binaries + VERSION:sh = echo $PWD | sed -e 's/^.*\/\([^\/]*\)$/\1/' + DISTHELPDIR = $(VERSION)_help + DISTSOURCE = $(VERSION).tar + EXCLUDE = $(BINDIST) $(PROGRAMS) \ + $(DISTHELPDIR) $(DISTHELPDIR).tar $(DISTHELPDIR).tar.gz \ + $(DISTSOURCE) $(DISTSOURCE).gz \ + dist exclude + SRCS1 = xdatplot.c files.c mainw.c fildialog.c control.c \ plot.c help.c marks.c mif.c ps.c conversion.c filter.c \ units.c xdp.c peaks.c Vt.c run.c *************** *** 431,440 **** all:: $(PROGRAMS) - distclean: clean - $(RM) $(PROGRAMS) file2c - (cd help; $(RM_CMD) "#"*) - clean:: $(RM_CMD) "#"* --- 440,445 ---- *************** *** 504,509 **** --- 509,557 ---- @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then set +x; \ else (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); fi $(INSTALL) $(INSTAPPFLAGS) XDatplot.ad $(DESTDIR)$(XAPPLOADDIR)/XDatplot + + distclean: clean + $(RM) $(PROGRAMS) file2c + (cd help; $(RM_CMD) "#"*) + + realclean: distclean + $(RM) -rf $(EXCLUDE) *.tar *.tar.gz + + help.tar.gz: distclean + mkdir $(VERSION)_help + (cd help; tar cf - *) | (cd $(VERSION)_help; tar xf -) + tar cf $(VERSION)_help.tar $(VERSION)_help + nice gzip -v $(VERSION)_help.tar + + binaries: distclean + $(MAKE) CDEBUGFLAGS=-O2 BINDING=-static $(PROGRAMS) + strip $(PROGRAMS) + $(RM) -rf $(BINDIST) + mkdir $(BINDIST) + $(MV) $(PROGRAMS) $(BINDIST) + $(CP) $(SCRIPTS) $(BINDIST) + (cd $(BINDIST); nice gzip -v *) + $(MAKE) clean + + XDatplot.ad.gz: XDatplot.ad + nice gzip -cv XDatplot.ad > XDatplot.ad.gz + + xdatplot.tar.gz: distclean + for i in $(EXCLUDE); do \ + echo $$i >>exclude; \ + done + (cd ..; tar cXf $(VERSION)/exclude $(VERSION)/$(DISTSOURCE) $(VERSION)) + $(RM) exclude + nice gzip -v $(DISTSOURCE) + + dist: distclean COPYING README binaries XDatplot.ad.gz xdatplot.tar.gz help.tar.gz + $(RM) -rf dist + mkdir dist + $(MV) $(BINDIST) XDatplot.ad.gz $(DISTSOURCE).gz $(DISTHELPDIR) $(DISTHELPDIR).tar.gz dist + $(CP) README COPYING dist + mkdir dist/Data; (cd Data; tar cf - .) | (cd dist/Data; tar xf -) + (cd dist; $(LN) $(DISTHELPDIR) xdatplot_help) + (cd dist; $(LN) $(DISTHELPDIR).tar.gz xdatplot_help.tar.gz) Imakefile: Imakefile.in config.status $(SHELL) config.status *** xdatplot-0.2/README Mon Mar 28 01:40:01 1994 --- xdatplot-0.2.1/README Mon Mar 28 17:01:32 1994 *************** *** 86,100 **** 1. Get the file xdatplot-0.2.tar.gz by anonymous FTP to eatworms.swmed.edu from the Software directory. ! 2. Execute the command gunzip -c xdatplot-0.2.tar.gz | tar xvf - to uncompress the programs. (Note: gunzip is the GNU uncompression program. You can get source code for gzip and gunzip from GNU.) ! 3. Execute the following commands: cd xdatplot-0.2 ./configure xmkmf -a --- 86,104 ---- 1. Get the file xdatplot-0.2.tar.gz by anonymous FTP to eatworms.swmed.edu from the Software directory. ! 2. Get the file patch01 by anonymous FTP to eatworms.swmed.edu from ! the Software/patches directory. + 3. Execute the command + gunzip -c xdatplot-0.2.tar.gz | tar xvf - to uncompress the programs. (Note: gunzip is the GNU uncompression program. You can get source code for gzip and gunzip from GNU.) ! 4. Execute the following commands: + patch -p = fp->f_cv.f_t0) && (t - fp->f_cv.f_t0 < fp->f_cv.f_n)) return(fp->f_cv.f_vals[t - fp->f_cv.f_t0]); shift_cache(fp, t, &where, &when, &howmany, &append); --- 396,402 ---- *************** *** 417,428 **** fp->f_cv.f_vals[t - fp->f_cv.f_t0] : INVALID_FILTER_VAL ); - #else /* CACHE_DF */ - if (VEOF == (v = V(t))) - return(INVALID_FILTER_VAL); - else - return((FILTER_VAL) v); - #endif /* CACHE_DF */ } static Bool --- 412,417 ---- *************** *** 461,472 **** fp->f_cv.f_t0 = df_info.V_tlo; fp->f_cv.f_n = 0; fp->f_cv.f_sp = 1; - #ifdef CACHE_DF if (NULL == fp->f_cv.f_vals) { fp->f_cv.f_vals = (FILTER_VAL *) ealloc(DF_BUFSIZ * sizeof(FILTER_VAL)); fp->f_cv.f_nv = DF_BUFSIZ; } - #endif /* CACHE_DF */ return(FALSE); } --- 450,459 ---- *** xdatplot-0.2/xdatplot.c Sun Mar 27 12:22:00 1994 --- xdatplot-0.2.1/xdatplot.c Mon Mar 28 16:09:21 1994 *************** *** 33,43 **** --- 33,45 ---- #define BELLVOL (100) /* bell volume */ #ifdef __STDC__ + static void dup_strings(void); static void usage(void); static void PU_error_cb(Widget, String, XmAnyCallbackStruct *); static void PU_help_cb(Widget, String, XmAnyCallbackStruct *); static void ask_user_cb(Widget, ANSWER *, XmAnyCallbackStruct *); #else __STDC__ + static void dup_strings(); static void usage(); static void PU_error_cb(); static void PU_help_cb(); *************** *** 161,175 **** "lpr" }, { - "helpPrintCommand", - "HelpPrintCommand", - XmRString, - sizeof(String), - XtOffsetOf(AppData, help_print_cmd), - XmRString, - "lpr" - }, - { "helpViewer", "HelpViewer", XmRString, --- 163,168 ---- *************** *** 638,644 **** "" } }; - Bool free_res[XtNumber(resources)]; int num_app_resources = XtNumber(resources); #include "xdatplot.xbm" --- 631,636 ---- *************** *** 701,707 **** XtNumber(resources), NULL); Free(res_list); - bzero(free_res, sizeof(free_res)); debug = app_data.debug; STARTUP; if (debug) { --- 693,698 ---- *************** *** 709,714 **** --- 700,706 ---- } if (1 == argc) DATA_FILE = argv[0]; if (1 < argc) usage(); + dup_strings(); inactivate_filter(&DF_FIL); create_main_window(toplevel); new_file(app_data.data_file); *************** *** 715,720 **** --- 707,732 ---- XtRealizeWidget(toplevel); XtAppMainLoop(app); exit_program(); + } + + /* + * Duplicate all string resources in heap space, so they can be freed. + */ + static void + dup_strings() + { + register int i; + caddr_t addr; + String *sp; + + for(i=0; i The channel settings. (offset 61) This is a group of nine sets of four four-byte floating point numbers. (for ! a total of 144 numbers, 576 bytes) These are nine sets of amplifier settings for nine potential channels. The four numbers for each channel are (in order): the high limit and low limit of the amplifier, and the multiplier and offset for the data. Xdatplot currently uses --- 27,33 ----
  • The channel settings. (offset 61) This is a group of nine sets of four four-byte floating point numbers. (for ! a total of 36 numbers, 144 bytes) These are nine sets of amplifier settings for nine potential channels. The four numbers for each channel are (in order): the high limit and low limit of the amplifier, and the multiplier and offset for the data. Xdatplot currently uses *************** *** 34,39 **** --- 34,42 ---- only the multiplier to convert the binary data into output by multiplying the binary numbers in the file by the multiplier of the first channel.

    + + +

  • Reserved. (offset 205) 432 bytes.
  • The sampling clock frequency. (offset 637) This is a *** xdatplot-0.2/help/installation.html Sun Mar 27 19:05:13 1994 --- xdatplot-0.2.1/help/installation.html Mon Mar 28 16:59:23 1994 *************** *** 60,65 **** --- 60,69 ----
  • Get this file and call it xdatplot-0.2.tar.gz. +
  • Get this + file and call it patch01. +
  • Execute the command gunzip -c xdatplot-0.2.tar.gz | tar xvf - to uncompress the programs. (Note: gunzip is the GNU uncompression program. You can get source code for gzip and gunzip *************** *** 67,72 **** --- 71,77 ----
  • Execute the following commands:
    +     patch -p <patch01
          cd xdatplot-0.2
          ./configure
          xmkmf -a
    ***************
    *** 95,101 ****
      
      
  • The help tree is in the directory xdatplot-0.2/help. If you wish to install local help (and there's every reason to do it), point the ! XDatplot*helpURL resource at "file://localhost/path/xdatplot-0.2/help/index.html". --- 100,107 ----
  • The help tree is in the directory xdatplot-0.2/help. If you wish to install local help (and there's every reason to do it), point the ! XDatplot*helpURL resource at ! "file://localhost/path/xdatplot-0.2/help/index.html". *************** *** 123,131 **** HREF="file://eatworms.swmed.edu/Software/xdatplot_help.tar.gz">this file as xdatplot_help.tar.gz, say "gunzip -c xdatplot_help.tar.gz | tar xvf -", which will create a directory ! called help, then point the XDatplot*helpURL resource at ! "file://localhost/path/xdatplot-0.2/help/index.html".

    There are a few --- 129,137 ---- HREF="file://eatworms.swmed.edu/Software/xdatplot_help.tar.gz">this file as xdatplot_help.tar.gz, say "gunzip -c xdatplot_help.tar.gz | tar xvf -", which will create a directory ! called xdatplot-0.3_help, then point the XDatplot*helpURL resource at ! "file://localhost/path/xdatplot-0.3_help/index.html".

    There are a few