From 1beff1e41eb41ce276d25d5eba9f5b46f201b7c3 Mon Sep 17 00:00:00 2001 From: Sergey Poznyakoff Date: Sat, 9 Sep 2006 05:38:06 +0000 Subject: [PATCH] Make sure the string is always translated --- lib/argp-help.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/argp-help.c b/lib/argp-help.c index a83a356e7..8f5c73adc 100644 --- a/lib/argp-help.c +++ b/lib/argp-help.c @@ -1476,6 +1476,7 @@ argp_doc (const struct argp *argp, const struct argp_state *state, const char *text; const char *inp_text; size_t inp_text_len = 0; + const char *trans_text; void *input = 0; int anything = 0; const struct argp_child *child = argp->children; @@ -1494,10 +1495,11 @@ argp_doc (const struct argp *argp, const struct argp_state *state, } } else - inp_text = dgettext (argp->argp_domain, post ? 0 : argp->doc); + inp_text = post ? 0 : argp->doc; + trans_text = dgettext (argp->argp_domain, inp_text); } else - inp_text = 0; + trans_text = inp_text = 0; if (argp->help_filter) /* We have to filter the doc strings. */ @@ -1507,10 +1509,10 @@ argp_doc (const struct argp *argp, const struct argp_state *state, (*argp->help_filter) (post ? ARGP_KEY_HELP_POST_DOC : ARGP_KEY_HELP_PRE_DOC, - inp_text, input); + trans_text, input); } else - text = (const char *) inp_text; + text = (const char *) trans_text; if (text) { @@ -1525,7 +1527,7 @@ argp_doc (const struct argp *argp, const struct argp_state *state, anything = 1; } - if (text && text != inp_text) + if (text && text != trans_text) free ((char *) text); /* Free TEXT returned from the help filter. */ if (inp_text && inp_text_len) -- 2.11.0