]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
build: detect all improper uses of _("%s")
authorEric Blake <eblake@redhat.com>
Tue, 10 Jul 2012 21:43:08 +0000 (15:43 -0600)
committerEric Blake <eblake@redhat.com>
Tue, 10 Jul 2012 21:49:41 +0000 (15:49 -0600)
The only useful translation of "%s" as a format string is "%s" (I
suppose you could claim "%1$s" is also valid, but why bother).  So
it is not worth translating; fixing this exposes some instances
where we were failing to translate real error messages.  This makes
the fix of commit 097da1ab more generic, as well as ensuring no
future regressions.

* cfg.mk (sc_prohibit_useless_translation): New rule.
* src/lxc/lxc_driver.c (lxcSetVcpuBWLive): Fix offender.
* src/openvz/openvz_conf.c (openvzReadFSConf): Likewise.
* src/qemu/qemu_cgroup.c (qemuSetupCgroupForVcpu): Likewise.
* src/qemu/qemu_driver.c (qemuSetVcpusBWLive): Likewise.
* src/xenapi/xenapi_utils.c (xenapiSessionErrorHandle): Likewise.

cfg.mk
src/lxc/lxc_driver.c
src/openvz/openvz_conf.c
src/qemu/qemu_cgroup.c
src/qemu/qemu_driver.c
src/xenapi/xenapi_utils.c

diff --git a/cfg.mk b/cfg.mk
index 7664d5deb40f2c705df47d062b3a78892c57d728..6dfe799774545d1b08fc56353f02c8e896f11762 100644 (file)
--- a/cfg.mk
+++ b/cfg.mk
@@ -622,6 +622,12 @@ sc_prohibit_newline_at_end_of_diagnostic:
          && { echo '$(ME): newline at end of message(s)' 1>&2;         \
            exit 1; } || :
 
+# The strings "" and "%s" should never be marked for translation.
+sc_prohibit_useless_translation:
+       @prohibit='_\("(%s)?"\)'                                        \
+       halt='$(ME): found useless translation'                         \
+         $(_sc_search_regexp)
+
 # Enforce recommended preprocessor indentation style.
 sc_preprocessor_indentation:
        @if cppi --version >/dev/null 2>&1; then                        \
index b58aeae632eaaf5ea1e8af7795700ca1f9227e0e..ae024fe6f29a50d084b0af069e105197344394d3 100644 (file)
@@ -2965,9 +2965,8 @@ cleanup:
     if (period) {
         rc = virCgroupSetCpuCfsPeriod(cgroup, old_period);
         if (rc < 0)
-            virReportSystemError(-rc,
-                                 _("%s"),
-                                 "Unable to rollback cpu bandwidth period");
+            virReportSystemError(-rc, "%s",
+                                 _("Unable to rollback cpu bandwidth period"));
     }
 
     return -1;
index ad27d37013a9acaf7064e92e2c6ae43007119b29..7b662994df8c1dc93b0aabb7cec6c38fb4561195 100644 (file)
@@ -457,9 +457,8 @@ openvzReadFSConf(virDomainDefPtr def,
             /* Ensure that we can multiply by 1024 without overflowing. */
             if (barrier > ULLONG_MAX / 1024 ||
                 limit > ULLONG_MAX / 1024 ) {
-                virReportSystemError(VIR_ERR_OVERFLOW,
-                                     _("%s"),
-                                     "Unable to parse quota");
+                virReportSystemError(VIR_ERR_OVERFLOW, "%s",
+                                     _("Unable to parse quota"));
                 goto error;
             }
             fs->space_soft_limit = barrier * 1024; /* unit is bytes */
index 662d41d7d94d588ddb6e9bbe138770859bd0f61d..e39f5e1499b5073df665b10701a9aa6bd2d053c3 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * qemu_cgroup.c: QEMU cgroup management
  *
- * Copyright (C) 2006-2011 Red Hat, Inc.
+ * Copyright (C) 2006-2012 Red Hat, Inc.
  * Copyright (C) 2006 Daniel P. Berrange
  *
  * This library is free software; you can redistribute it and/or
@@ -472,8 +472,7 @@ cleanup:
     if (period) {
         rc = virCgroupSetCpuCfsPeriod(cgroup, old_period);
         if (rc < 0)
-            virReportSystemError(-rc,
-                                 "%s",
+            virReportSystemError(-rc, "%s",
                                  _("Unable to rollback cpu bandwidth period"));
     }
 
@@ -507,9 +506,8 @@ int qemuSetupCgroupForVcpu(struct qemud_driver *driver, virDomainObjPtr vm)
         if (qemuCgroupControllerActive(driver, VIR_CGROUP_CONTROLLER_CPU)) {
             /* Ensure that we can multiply by vcpus without overflowing. */
             if (quota > LLONG_MAX / vm->def->vcpus) {
-                virReportSystemError(EINVAL,
-                                     _("%s"),
-                                     "Unable to set cpu bandwidth quota");
+                virReportSystemError(EINVAL, "%s",
+                                     _("Unable to set cpu bandwidth quota"));
                 goto cleanup;
             }
 
index 3410535417e1930b68f7c205d8664bc65e498129..377be9f9350c27373eb37ceab02952214741a90d 100644 (file)
@@ -7134,9 +7134,8 @@ qemuSetVcpusBWLive(virDomainObjPtr vm, virCgroupPtr cgroup,
 
     /* Ensure that we can multiply by vcpus without overflowing. */
     if (quota > LLONG_MAX / vm->def->vcpus) {
-        virReportSystemError(EINVAL,
-                             _("%s"),
-                             "Unable to set cpu bandwidth quota");
+        virReportSystemError(EINVAL, "%s",
+                             _("Unable to set cpu bandwidth quota"));
         goto cleanup;
     }
 
index 3471b6a2ab4037a8df450f8d0fa8b7c74e2c2503..e5a9cc5738ed80e4ea370e37898993ce149cb622 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * xenapi_utils.c: Xen API driver -- utils parts.
- * Copyright (C) 2011 Red Hat, Inc.
+ * Copyright (C) 2011-2012 Red Hat, Inc.
  * Copyright (C) 2009, 2010 Citrix Ltd.
  *
  * This library is free software; you can redistribute it and/or
@@ -372,11 +372,13 @@ xenapiSessionErrorHandle(virConnectPtr conn, virErrorNumber errNum,
 
     if (buf == NULL && priv != NULL && priv->session != NULL) {
         char *ret = returnErrorFromSession(priv->session);
-        virReportErrorHelper(VIR_FROM_XENAPI, errNum, filename, func, lineno, _("%s"), ret);
+        virReportErrorHelper(VIR_FROM_XENAPI, errNum, filename, func, lineno,
+                             "%s", ret);
         xen_session_clear_error(priv->session);
         VIR_FREE(ret);
     } else {
-        virReportErrorHelper(VIR_FROM_XENAPI, errNum, filename, func, lineno, _("%s"), buf);
+        virReportErrorHelper(VIR_FROM_XENAPI, errNum, filename, func, lineno,
+                             "%s", buf);
     }
 }