grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: changing a function pointer in a module


From: Robert Millan
Subject: Re: changing a function pointer in a module
Date: Sat, 7 Feb 2009 22:10:53 +0100
User-agent: Mutt/1.5.13 (2006-08-11)

On Fri, Jan 16, 2009 at 10:28:12PM +0100, Carles Pina i Estany wrote:
> 
> Hello,
> 
> I'm doing some more gettext stuff. Right now I have (relevant code for
> the problem):
> 
> (briefly: the problem is that I'm changing a function pointer inside
> gettext module code and it's not changed in other parts in Grub, even
> when it's defined in include/grub/misc.h and only there)
> 
> include/grub/misc.h:
> char* EXPORT_FUNC(grub_gettext_dummy) (const char *s);
> char* EXPORT_FUNC((*grub_gettext)) (const char *s);
> 
> (I've done tests without EXPORT_FUNC and with EXPORT_VAR for
> grub_gettext)
> 
> In normal/main.c, GRUB_MOD_INIT(normal) I have:
>   grub_gettext = grub_gettext_dummy;
> 
> In normal/cmdline.c, in grub_cmdline_run and after "ESC at any time
> exits":
> grub_printf("grub_gettext: %d\n",grub_gettext);
> 
> In gettext/gettext.c, GRUB_MOD_INIT(gettext):
>   grub_gettext = grub_gettext_translate;
>   grub_printf("grub_gettext: %d\n",grub_gettext);
> 
> First time that I type "C" in Grub menu, I read grub_gettext: XXXX.
> 
> Then I insmod my module and it prints grub_printf("grub_gettext:
> %d\n",grub_gettext);  (different value, of course).
> 
> I press ESC (to go to Grub menu) and C (to go to the command line) and I
> get the first grub_gettext value, not the one that I changed.
> 
> How so? I don't declare grub_gettext again, how I can change (and check
> that it's changed) but not changed back?
> 
> I even tried to not assign in normal/main.c (just in case that code part
> is executed two times) but still it didn't work (again, value has not
> been changed).

IIRC we sorted out these issues in our meeting, please let me know if something
is missing.

-- 
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."




reply via email to

[Prev in Thread] Current Thread [Next in Thread]