diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2014-06-24 13:18:03 +0800 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2014-07-28 13:20:34 +0800 |
commit | 4e30f260106ac5f7007e213db1d1e54298393290 (patch) | |
tree | 1d215a8c2e5895844f486d8b371c731d3b34f83b /ui/ncurses/nc-helpscreen.h | |
parent | 494988c501287e03da3becba5c03cbce7c3d9d20 (diff) | |
download | talos-petitboot-4e30f260106ac5f7007e213db1d1e54298393290.tar.gz talos-petitboot-4e30f260106ac5f7007e213db1d1e54298393290.zip |
ui/ncurses: Use a separate type for help text
Because it's initialised statically, help text won't be directly
gettext()-ed. Instead, we need to perform the gettext translation at
runtime, and pass untranslated strings into the help_screen code.
Instead of trusting callers to pass the untranslated strings though, we
encapsulate the help text data into struct help_text, so we know we have
an unstranslated string.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'ui/ncurses/nc-helpscreen.h')
-rw-r--r-- | ui/ncurses/nc-helpscreen.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/ui/ncurses/nc-helpscreen.h b/ui/ncurses/nc-helpscreen.h index f104411..99b99f7 100644 --- a/ui/ncurses/nc-helpscreen.h +++ b/ui/ncurses/nc-helpscreen.h @@ -19,13 +19,24 @@ #define _NC_HELPSCREEN_H struct help_screen; +struct cui; + +/* Container struct for type-safety; we need to use gettext() before + * displaying the untranslated string. */ +struct help_text { + const char *text; +}; + +#define define_help_text(s) { .text = s } struct nc_scr *help_screen_scr(struct help_screen *screen); struct nc_scr *help_screen_return_scr(struct help_screen *screen); struct help_screen *help_screen_init(struct cui *cui, struct nc_scr *current_scr, - const char *title_suffix, const char *text, + const char *title_suffix, + const struct help_text *text, void (*on_exit)(struct cui *)); + #endif /* defined _NC_HELPSCREEN_H */ |