On Sun, Nov 29, 2009 at 12:49:50AM +0000, Carles Pina i Estany wrote: > > Hello, > > This week I realised of a quite big mistake in the gettext module. Every > time that the user of this module was asking for string translation, > gettext module was allocating new memory and returning it. So if the > user was asking 10 times for the same string, gettext was creating 10 > new strings and leaking memory. > > With the attached patch, gettext module saves in a list the > translations. So if a user asks again for the same translation it > returns the same pointer to the already allocated string instead of a > new one. > > If someone wants to discuss things maybe in the IRC is better (but feel > free to talk it here too). There are different approaches, and the > current one is not perfect but I don't see any perfect design.
How does GNU gettext handle this? I suspect it could be simpler. For example, is it practical to allocate a big chunk of memory for the whole .mo, then return pointers to it? -- Robert Millan The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and how) you may access your data; but nobody's threatening your freedom: we still allow you to remove your data and not access it at all." _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel