On Mon, Oct 29, 2007 at 02:43:42PM +0100, Stefan Manegold wrote: > On Mon, Oct 29, 2007 at 12:38:15PM +0100, Stefan Manegold wrote: > > On Mon, Oct 29, 2007 at 07:09:42AM +0000, Niels Nes wrote: > > > Update of /cvsroot/monetdb/MonetDB5/src/mal > > > In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv18604/src/mal > > > > > > Modified Files: > > > Tag: MonetDB_5-2 > > > mal_builder.mx > > > Log Message: > > > pushStr shouldn't do a GDKstrdup, as it may return an equal string from > > > the constant cache, ie only if the returned variable holds the given > > > string > > > (poniters are equal) we do a string dup. This solves another memory leak. > > > > > > > > > Index: mal_builder.mx > > > =================================================================== > > > RCS file: /cvsroot/monetdb/MonetDB5/src/mal/mal_builder.mx,v > > > retrieving revision 1.26 > > > retrieving revision 1.26.2.1 > > > diff -u -d -r1.26 -r1.26.2.1 > > > --- mal_builder.mx 28 Aug 2007 19:56:41 -0000 1.26 > > > +++ mal_builder.mx 29 Oct 2007 07:09:40 -0000 1.26.2.1 > > > @@ -260,10 +260,12 @@ > > > ValRecord cst; > > > > > > cst.vtype= TYPE_str; > > > - cst.val.sval= GDKstrdup(val); > > > + cst.val.sval= val; > > > > gcc -DHAVE_CONFIG_H -I. > > -I/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB5/src/mal > > -I../.. > > -I/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB5/src/mal > > -I../optimizer > > -I/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB5/src/mal/../optimizer > > -I../scheduler > > -I/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB5/src/mal/../scheduler > > -I../modules/kernel > > -I/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB5/src/mal/../modules/kernel > > > > -I/ufs/manegold/_/scratch0/Monet/Testing/Stable/prefix.--enable-strict_--disable-optimize_--enable-debug_--enable-assert/include/MonetDB > > > > -I/ufs/manegold/_/scratch0/Monet/Testing/Stable/prefix.--enable-strict_--disable-optimize_--enable-debug_--enable-assert/include/MonetDB/common > > > > -I/ufs/manegold/_/scratch0/Monet/Testing/Stable/prefix.--enable-strict_--disable-optimize_--enable-debug_--enable-assert/include/MonetDB/gdk > > -DLIBMAL -Wall -Wextra -std=c99 -g -Werror-implicit-function-declaration > > -Werr or > - > > Wpointer-arith -Wdeclaration-after-statement -Wundef > > -Wp,-D_FORTIFY_SOURCE=2 -D_REENTRANT -c mal_builder.c -fPIC -DPIC -o > > .libs/libmal_la-mal_builder.o > > cc1: warnings being treated as errors > > /ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB5/src/mal/mal_builder.mx: > > In function 'pushStr': > > /ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB5/src/mal/mal_builder.mx:263: > > warning: assignment discards qualifiers from pointer target type > > make[5]: *** [libmal_la-mal_builder.lo] Error 1 > > The following patch would fix the compilation --- don't know, though, > whether the changed sematics are acceptable ... > > ======== > Index: MonetDB5/src/mal/mal_builder.mx > =================================================================== > RCS file: /cvsroot/monetdb/MonetDB5/src/mal/mal_builder.mx,v > retrieving revision 1.26.2.1 > diff -u -0 -r1.26.2.1 mal_builder.mx > --- MonetDB5/src/mal/mal_builder.mx 29 Oct 2007 07:09:40 -0000 > 1.26.2.1 > +++ MonetDB5/src/mal/mal_builder.mx 29 Oct 2007 13:42:15 -0000 > @@ -51 +51 @@ > -mal_export InstrPtr pushStr(MalBlkPtr mb, InstrPtr q, const char *val); > +mal_export InstrPtr pushStr(MalBlkPtr mb, InstrPtr q, char *val); > @@ -257 +257 @@ > -pushStr(MalBlkPtr mb, InstrPtr q, const char *val) > +pushStr(MalBlkPtr mb, InstrPtr q, char *val)
This indeed changes the semantics. > ======== > > Stefan > > > > cst.len= strlen(cst.val.sval); > > > _t = defConstant(mb,TYPE_str,&cst); > > > > > > + if (getConstant(mb,_t).val.sval == val) So I guess this works too. if (getConstant(mb,_t).val.sval == (char*)val) Niels > > > + getConstant(mb,_t).val.sval = GDKstrdup(val); > > > return pushArgument(mb, q, _t); > > > } > > -- > | Dr. Stefan Manegold | mailto:[EMAIL PROTECTED] | > | CWI, P.O.Box 94079 | http://www.cwi.nl/~manegold/ | > | 1090 GB Amsterdam | Tel.: +31 (20) 592-4212 | > | The Netherlands | Fax : +31 (20) 592-4312 | > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Monetdb-developers mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/monetdb-developers -- Niels Nes, Centre for Mathematics and Computer Science (CWI) Kruislaan 413, 1098 SJ Amsterdam, The Netherlands room C0.02, phone ++31 20 592-4098, fax ++31 20 592-4312 url: http://www.cwi.nl/~niels e-mail: [EMAIL PROTECTED] ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Monetdb-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/monetdb-developers
