Use indexed format specifiers in i18n strings

Translators need to reorder messages to suit the needs of the target
language. The conventional positional format specifiers (e.g. %s %d)
do not permit reordering because their order is tied to the ordering
of the arguments to the printf function. The fix is to use indexed
format specifiers.

https://fedorahosted.org/freeipa/ticket/2596
This commit is contained in:
John Dennis
2012-03-29 21:34:19 -04:00
committed by Rob Crittenden
parent 717bbcd2bf
commit b8f1292e86
3 changed files with 16 additions and 16 deletions

View File

@@ -82,7 +82,7 @@ static int ldap_sasl_interact(LDAP *ld, unsigned flags, void *priv_data, void *s
krberr = krb5_init_context(&krbctx); krberr = krb5_init_context(&krbctx);
if (krberr) { if (krberr) {
fprintf(stderr, _("Kerberos context initialization failed: %s (%d)\n"), fprintf(stderr, _("Kerberos context initialization failed: %1$s (%2$d)\n"),
error_message(krberr), krberr); error_message(krberr), krberr);
in->result = NULL; in->result = NULL;
in->len = 0; in->len = 0;
@@ -93,7 +93,7 @@ static int ldap_sasl_interact(LDAP *ld, unsigned flags, void *priv_data, void *s
krberr = krb5_unparse_name(krbctx, princ, &outname); krberr = krb5_unparse_name(krbctx, princ, &outname);
if (krberr) { if (krberr) {
fprintf(stderr, _("Unable to parse principal: %s (%d)\n"), fprintf(stderr, _("Unable to parse principal: %1$s (%2$d)\n"),
error_message(krberr), krberr); error_message(krberr), krberr);
in->result = NULL; in->result = NULL;
in->len = 0; in->len = 0;
@@ -511,7 +511,7 @@ static int ipa_ldap_init(LDAP ** ld, const char * scheme, const char * servernam
{ {
char* url = NULL; char* url = NULL;
int url_len = snprintf(url,0,"%s://%s:%d",scheme,servername,port) +1; int url_len = snprintf(url,0,"%s://%s:%d",scheme,servername,port) +1;
url = (char *)malloc (url_len); url = (char *)malloc (url_len);
if (!url){ if (!url){
fprintf(stderr, _("Out of memory \n")); fprintf(stderr, _("Out of memory \n"));
@@ -570,7 +570,7 @@ static int ldap_set_keytab(krb5_context krbctx,
if (ldap_set_option(NULL, LDAP_OPT_X_TLS_CACERTFILE, "/etc/ipa/ca.crt") != LDAP_OPT_SUCCESS) { if (ldap_set_option(NULL, LDAP_OPT_X_TLS_CACERTFILE, "/etc/ipa/ca.crt") != LDAP_OPT_SUCCESS) {
goto error_out; goto error_out;
} }
if ( ipa_ldap_init(&ld, "ldaps",servername, 636) != LDAP_SUCCESS){ if ( ipa_ldap_init(&ld, "ldaps",servername, 636) != LDAP_SUCCESS){
goto error_out; goto error_out;
} }
@@ -579,7 +579,7 @@ static int ldap_set_keytab(krb5_context krbctx,
} }
} else { } else {
if (ipa_ldap_init(&ld, "ldap",servername, 389) != LDAP_SUCCESS){ if (ipa_ldap_init(&ld, "ldap",servername, 389) != LDAP_SUCCESS){
goto error_out; goto error_out;
} }
} }
@@ -731,7 +731,7 @@ static int ldap_set_keytab(krb5_context krbctx,
keys->ksdata[i].enctype); keys->ksdata[i].enctype);
} else { } else {
fprintf(stderr, _("Failed to retrieve " fprintf(stderr, _("Failed to retrieve "
"encryption type %s (#%d)\n"), "encryption type %1$s (#%2$d)\n"),
enc, keys->ksdata[i].enctype); enc, keys->ksdata[i].enctype);
} }
} else { } else {

View File

@@ -108,7 +108,7 @@ static int check_perms(const char *keytab)
break; break;
default: default:
fprintf(stderr, fprintf(stderr,
_("access() on %s failed: errno = %d\n"), _("access() on %1$s failed: errno = %2$d\n"),
keytab, errno); keytab, errno);
break; break;
} }
@@ -334,7 +334,7 @@ get_root_dn(const char *ipaserver, char **ldap_base)
NULL, NULL, NULL, 0, &res); NULL, NULL, NULL, 0, &res);
if (ret != LDAP_SUCCESS) { if (ret != LDAP_SUCCESS) {
fprintf(stderr, _("Search for %s on rootdse failed with error %d"), fprintf(stderr, _("Search for %1$s on rootdse failed with error %2$d\n"),
root_attrs[0], ret); root_attrs[0], ret);
rval = 14; rval = 14;
goto done; goto done;
@@ -801,7 +801,7 @@ unenroll_host(const char *server, const char *hostname, const char *ktname, int
krberr = krb5_parse_name(krbctx, principal, &princ); krberr = krb5_parse_name(krbctx, principal, &princ);
if (krberr != 0) { if (krberr != 0) {
if (!quiet) if (!quiet)
fprintf(stderr, _("Error parsing \"%s\": %s.\n"), fprintf(stderr, _("Error parsing \"%1$s\": %2$s.\n"),
principal, error_message(krberr)); principal, error_message(krberr));
return krberr; return krberr;
} }

View File

@@ -42,7 +42,7 @@ remove_principal(krb5_context context, krb5_keytab ktid, const char *principal,
if (krberr) { if (krberr) {
fprintf(stderr, _("Unable to parse principal name\n")); fprintf(stderr, _("Unable to parse principal name\n"));
if (debug) if (debug)
fprintf(stderr, _("krb5_parse_name %d: %s\n"), fprintf(stderr, _("krb5_parse_name %1$d: %2$s\n"),
krberr, error_message(krberr)); krberr, error_message(krberr));
rval = 4; rval = 4;
goto done; goto done;
@@ -71,7 +71,7 @@ remove_principal(krb5_context context, krb5_keytab ktid, const char *principal,
} }
fprintf(stderr, _("principal not found\n")); fprintf(stderr, _("principal not found\n"));
if (debug) if (debug)
fprintf(stderr, _("krb5_kt_get_entry %d: %s\n"), fprintf(stderr, _("krb5_kt_get_entry %1$d: %2$s\n"),
krberr, error_message(krberr)); krberr, error_message(krberr));
rval = 5; rval = 5;
break; break;
@@ -82,7 +82,7 @@ remove_principal(krb5_context context, krb5_keytab ktid, const char *principal,
fprintf(stderr, _("Unable to remove entry\n")); fprintf(stderr, _("Unable to remove entry\n"));
if (debug) { if (debug) {
fprintf(stdout, _("kvno %d\n"), entry2.vno); fprintf(stdout, _("kvno %d\n"), entry2.vno);
fprintf(stderr, _("krb5_kt_remove_entry %d: %s\n"), fprintf(stderr, _("krb5_kt_remove_entry %1$d: %2$s\n"),
krberr, error_message(krberr)); krberr, error_message(krberr));
} }
rval = 6; rval = 6;
@@ -118,7 +118,7 @@ remove_realm(krb5_context context, krb5_keytab ktid, const char *realm, int debu
if (krberr) { if (krberr) {
fprintf(stderr, _("Unable to parse principal\n")); fprintf(stderr, _("Unable to parse principal\n"));
if (debug) { if (debug) {
fprintf(stderr, _("krb5_unparse_name %d: %s\n"), fprintf(stderr, _("krb5_unparse_name %1$d: %2$s\n"),
krberr, error_message(krberr)); krberr, error_message(krberr));
} }
rval = 4; rval = 4;
@@ -227,14 +227,14 @@ main(int argc, const char **argv)
krberr = krb5_kt_resolve(context, ktname, &ktid); krberr = krb5_kt_resolve(context, ktname, &ktid);
if (krberr) { if (krberr) {
fprintf(stderr, _("Failed to open keytab '%s': %s\n"), keytab, fprintf(stderr, _("Failed to open keytab '%1$s': %2$s\n"), keytab,
error_message(krberr)); error_message(krberr));
rval = 3; rval = 3;
goto cleanup; goto cleanup;
} }
krberr = krb5_kt_start_seq_get(context, ktid, &cursor); krberr = krb5_kt_start_seq_get(context, ktid, &cursor);
if (krberr) { if (krberr) {
fprintf(stderr, _("Failed to open keytab '%s': %s\n"), keytab, fprintf(stderr, _("Failed to open keytab '%1$s': %2$s\n"), keytab,
error_message(krberr)); error_message(krberr));
rval = 3; rval = 3;
goto cleanup; goto cleanup;
@@ -252,7 +252,7 @@ cleanup:
if (krberr) { if (krberr) {
fprintf(stderr, _("Closing keytab failed\n")); fprintf(stderr, _("Closing keytab failed\n"));
if (debug) if (debug)
fprintf(stderr, _("krb5_kt_close %d: %s\n"), fprintf(stderr, _("krb5_kt_close %1$d: %2$s\n"),
krberr, error_message(krberr)); krberr, error_message(krberr));
} }
} }