No it does, not I already cross-read it and it looks fine, did you
give it a shot with valgrind?

Regards

Bernhard Schuster

Am 5. März 2012 15:43 schrieb Olivier Sessink <oliviersess...@gmail.com>:
> On 03/02/2012 04:00 AM, Xi Yang wrote:
>>
>> Hi, everyone!
>>
>>
>> I use Glib's regular expression in a cycle, and find a rapid memory
>> consumption increase. Did I forget to release anything?
>
>
> since nobody replied I'll give it a shot (without any C++ knowledge):
>
> does seq.header.c_str() return a newly allocated string?
>
>
> Olivier
>
>
>>
>>
>> Thanks a lot!
>>
>>
>> ================= code below ======================
>>
>>
>> GRegex* regex_illumina = g_regex_new(
>>     "@(.+):(\\d+):(\\d+):(\\d+):(\\d+)#(\\d+)/([12])",
>>     G_REGEX_OPTIMIZE,
>>     GRegexMatchFlags(0),
>>     NULL
>> );
>>
>>
>> GRegex* regex_casava_1p8 = g_regex_new(
>>     "@(.+):(.+):(.+):(\\d+):(\\d+):(\\d+):(\\d+)
>> ([12]):([YN]):\\d+:(\\w*)",
>>     G_REGEX_OPTIMIZE,
>>     GRegexMatchFlags(0),
>>     NULL
>> );
>>
>>
>> // inside cycle body
>>         gchar* tile_str;
>>         int tile;
>>         GMatchInfo* what;
>>
>>         // match and fetch something
>>         if ( g_regex_match(regex_illumina, seq.header.c_str(),
>> GRegexMatchFlags(0),&what) ) {
>>             tile_str = g_match_info_fetch(what,3);
>>         }
>>         else if ( g_regex_match(regex_casava_1p8, seq.header.c_str(),
>> GRegexMatchFlags(0),&what) ) {
>>
>>             tile_str = g_match_info_fetch(what,5);
>>         }
>>         else {
>>             throw runtime_error("failed to parse header
>> line:\n"+seq.header);
>>         }
>>
>>
>>         // parse a number
>>         if (sscanf(tile_str,"%d",&tile)!=1)
>>             throw runtime_error("failed to fetch tile from "+seq.header);
>>
>>
>>         // release match info and fetched string
>>         g_match_info_free(what);
>>         g_free(tile_str);
>> // end of cycle body
>> _______________________________________________
>> gtk-app-devel-list mailing list
>> gtk-app-devel-list@gnome.org
>> http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
>
>
> _______________________________________________
> gtk-app-devel-list mailing list
> gtk-app-devel-list@gnome.org
> http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to