isqlperl 1.2 BUG FIX
Posted in 1995
Apologies for wasting bandwidth, but I posted this yesterday without a subject by mistake. This context diff fixes a rather serious problem with the isqlperl 1.2 release, where passing in mixed BYTE or TEXT data with other data in a sql statement could cause random spurious behaviour! I only just found it this morning, thanks to Richard Southwick for the bug report. I'm amazed that isqlperl has run for so long now without this one being weeded out. Also apologies to another correspondant, who reported a bug with BLOBS (fixed here I presume) but whose mail I lost when a disk failed, before I had a chance to investigate. 8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<--- *** isqlperl.pec.orig Mon Mar 27 11:13:58 1995 --- isqlperl.pec Mon Mar 27 11:15:40 1995 *************** *** 1192,1202 **** if ((blobbuf = nnew_(nblobs, loc_t)) == NULL) fatal("out of memory"); ! for (i = 0, par = parameters->sqlvar; nblobs; ++i, ++par, --nblobs) { if (par->sqltype == CLOCATORTYPE) { ! par->sqldata = (char *) &blobbuf[nblobs - 1]; locp = (loc_t *) par->sqldata; locp->loc_loctype = LOCMEMORY; } --- 1192,1202 ---- if ((blobbuf = nnew_(nblobs, loc_t)) == NULL) fatal("out of memory"); ! for (i = 0, par = parameters->sqlvar; nblobs; ++i, ++par) { if (par->sqltype == CLOCATORTYPE) { ! par->sqldata = (char *) &blobbuf[--nblobs]; locp = (loc_t *) par->sqldata; locp->loc_loctype = LOCMEMORY; } 8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<--- -- Cheers Bill Bill Hails <bill@tardis.co.uk> Tel (UK) 01483 300 200 Fax (UK) 01483 302 827