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 
> -Werror
  -
>  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)
========

Stefan

> >     cst.len= strlen(cst.val.sval);
> >     _t = defConstant(mb,TYPE_str,&cst);
> >  
> > +   if (getConstant(mb,_t).val.sval == val) 
> > +           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

Reply via email to