Re: Debian Boot Floppies CVS: boot-floppies andersee
On Fri, Nov 26, 1999 at 07:44:16PM +0100, Hartmut Koptein wrote:
> > I asked about this a while back when testing the "*_test:" rules in
> > dbootstrap. It segfaults because it can't find the *.trm files on your
> > installation. Somebody who understands this i18n stuff will hopefully
> > fix it. :)
> Enrique, please help.
> What i understand is, that pointerize replace the MAKROS from each file
> in dbootstrap/* into the one from the *.po file, correct?
Almost. It replaces the macros with pointers to a table of strings mmaped
at run-time from a .trm file. If it can't find the .trm file, or fails to
load it by any other reason, the pointers will point into the void
(segfault time...). We can choose the .trm file to load by pasing the
proper filename to the LOAD_TRMFILE macro.
There's a way to detect the LOAD_TRMFILE macro has failed: that macro
returns an int. If it's 0, there has been an error loading the trm file,
the program must display a default error message (not into a _() macro)
and stop, or load the default C.trm file. If the .trm file has been
correctly loaded, the macro returns the number of messages read (the
loader has already checked that the number of messages read is equal to
the number of messages expected, as a way to detect that we have tried to
load an obsolete .trm file).
> For C we have then *.c with the english language, for 'es' we have then only *.c
> with spanish. Could we avoid this? What is the best way to compile all the
> files without pointerize?
For testing purposes, just redefining the "%.o" target in
utilities/dbootstrap/Makefile should do the trick. Instead of depending
on tmp.%.c as it does now, make it depend on %.c and it won't use
pointerize at all (no l10n, only english).
Enrique Zanardi email@example.com