rgb@nscpdc.NSC.COM (Robert Bond) (10/22/87)
There is a problem in version 4.1 of sc. Defined range names are not deleted when a new data base is loaded with a G (get) command. This causes trouble because the range names then point at wrong (or deleted!) cells. Also, new ranges by the same name cannot be loaded into the spread sheet. Here is the fix. Point this file at the source directory as patch -d <source directory> < file ------------------------- diffs for range.c----------------------- *** range.c.b Wed Oct 21 13:34:31 1987 --- range.c Wed Oct 21 13:36:17 1987 *************** *** 77,82 **** --- 77,98 ---- xfree((char *)r); } + clean_range() + { + register struct range *r; + register struct range *nextr; + + r = rng_base; + rng_base = 0; + + while (r) { + nextr = r->r_next; + xfree((char *)(r->r_name)); + xfree((char *)r); + r = nextr; + } + } + /* Match on name or lmatch, rmatch */ struct range * ------------ diffs for sc.c ---------------------- *** sc.c.b Wed Oct 21 13:37:11 1987 --- sc.c Wed Oct 21 13:37:56 1987 *************** *** 1006,1011 **** --- 1006,1012 ---- *p = 0; } } + clean_range(); maxrow = 0; maxcol = 0; FullUpdate++; -- Robert Bond ihnp4!nsc!nscpdc!rgb National Semiconductor tektronix!nscpdc!rgb