mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-01 17:35:17 +00:00
xenXMError: mark for translation string args to this function
* Makefile.maint (msg_gen_function): Add xenXMError. * src/xm_internal.c (xenXMParseXMLToConfig, xenXMDomainDefineXML): (xenXMDomainAttachDevice, xenXMDomainDetachDevice): Mark strings.
This commit is contained in:
parent
513bd04ce1
commit
56a3cb8086
@ -1,5 +1,10 @@
|
||||
Thu Mar 27 14:36:56 CET 2008 Jim Meyering <meyering@redhat.com>
|
||||
|
||||
xenXMError: mark for translation string args to this function
|
||||
* Makefile.maint (msg_gen_function): Add xenXMError.
|
||||
* src/xm_internal.c (xenXMParseXMLToConfig, xenXMDomainDefineXML):
|
||||
(xenXMDomainAttachDevice, xenXMDomainDetachDevice): Mark strings.
|
||||
|
||||
Mark many more strings for translation.
|
||||
* Makefile.maint (err_func_re): Add to the list and make it readable.
|
||||
* po/POTFILES.in: Add src/util.c and src/xm_internal.c, and sort.
|
||||
|
@ -312,8 +312,8 @@ msg_gen_function += virLog
|
||||
msg_gen_function += qemudLog
|
||||
msg_gen_function += remoteDispatchError
|
||||
msg_gen_function += virStorageLog
|
||||
msg_gen_function += xenXMError
|
||||
|
||||
# msg_gen_function += xenXMError
|
||||
# msg_gen_function += virXenError
|
||||
# msg_gen_function += ReportError
|
||||
# msg_gen_function += testError
|
||||
|
@ -1904,26 +1904,30 @@ virConfPtr xenXMParseXMLToConfig(virConnectPtr conn, const char *xml) {
|
||||
XML_PARSE_NOENT | XML_PARSE_NONET |
|
||||
XML_PARSE_NOERROR | XML_PARSE_NOWARNING);
|
||||
if (doc == NULL) {
|
||||
xenXMError(conn, VIR_ERR_XML_ERROR, "cannot read XML domain definition");
|
||||
xenXMError(conn, VIR_ERR_XML_ERROR,
|
||||
_("cannot read XML domain definition"));
|
||||
return (NULL);
|
||||
}
|
||||
node = xmlDocGetRootElement(doc);
|
||||
if ((node == NULL) || (!xmlStrEqual(node->name, BAD_CAST "domain"))) {
|
||||
xenXMError(conn, VIR_ERR_XML_ERROR, "missing top level domain element");
|
||||
xenXMError(conn, VIR_ERR_XML_ERROR,
|
||||
_("missing top level domain element"));
|
||||
goto error;
|
||||
}
|
||||
|
||||
prop = xmlGetProp(node, BAD_CAST "type");
|
||||
if (prop != NULL) {
|
||||
if (!xmlStrEqual(prop, BAD_CAST "xen")) {
|
||||
xenXMError(conn, VIR_ERR_XML_ERROR, "domain type is invalid");
|
||||
xenXMError(conn, VIR_ERR_XML_ERROR,
|
||||
_("domain type is invalid"));
|
||||
goto error;
|
||||
}
|
||||
xmlFree(prop);
|
||||
prop = NULL;
|
||||
}
|
||||
if (!(ctxt = xmlXPathNewContext(doc))) {
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR, "cannot create XPath context");
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||
_("cannot create XPath context"));
|
||||
goto error;
|
||||
}
|
||||
if (!(conf = virConfNew()))
|
||||
@ -2117,7 +2121,7 @@ virConfPtr xenXMParseXMLToConfig(virConnectPtr conn, const char *xml) {
|
||||
if ((obj != NULL) && (obj->type == XPATH_NODESET) &&
|
||||
(obj->nodesetval != NULL) && (obj->nodesetval->nodeNr >= 0)) {
|
||||
if (!(vfb = malloc(sizeof(*vfb)))) {
|
||||
xenXMError(conn, VIR_ERR_NO_MEMORY, "config");
|
||||
xenXMError(conn, VIR_ERR_NO_MEMORY, _("config"));
|
||||
goto error;
|
||||
}
|
||||
vfb->type = VIR_CONF_LIST;
|
||||
@ -2183,7 +2187,7 @@ virConfPtr xenXMParseXMLToConfig(virConnectPtr conn, const char *xml) {
|
||||
virConfValuePtr disp;
|
||||
if (!(disp = malloc(sizeof(*disp)))) {
|
||||
free(val);
|
||||
xenXMError(conn, VIR_ERR_NO_MEMORY, "config");
|
||||
xenXMError(conn, VIR_ERR_NO_MEMORY, _("config"));
|
||||
goto error;
|
||||
}
|
||||
disp->type = VIR_CONF_STRING;
|
||||
@ -2204,7 +2208,7 @@ virConfPtr xenXMParseXMLToConfig(virConnectPtr conn, const char *xml) {
|
||||
(obj->nodesetval != NULL) && (obj->nodesetval->nodeNr >= 0)) {
|
||||
virConfValuePtr disks;
|
||||
if (!(disks = malloc(sizeof(*disks)))) {
|
||||
xenXMError(conn, VIR_ERR_NO_MEMORY, "config");
|
||||
xenXMError(conn, VIR_ERR_NO_MEMORY, _("config"));
|
||||
goto error;
|
||||
}
|
||||
disks->type = VIR_CONF_LIST;
|
||||
@ -2217,7 +2221,7 @@ virConfPtr xenXMParseXMLToConfig(virConnectPtr conn, const char *xml) {
|
||||
if (disk) {
|
||||
if (!(thisDisk = malloc(sizeof(*thisDisk)))) {
|
||||
free(disk);
|
||||
xenXMError(conn, VIR_ERR_NO_MEMORY, "config");
|
||||
xenXMError(conn, VIR_ERR_NO_MEMORY, _("config"));
|
||||
goto error;
|
||||
}
|
||||
thisDisk->type = VIR_CONF_STRING;
|
||||
@ -2236,7 +2240,7 @@ virConfPtr xenXMParseXMLToConfig(virConnectPtr conn, const char *xml) {
|
||||
(obj->nodesetval != NULL) && (obj->nodesetval->nodeNr >= 0)) {
|
||||
virConfValuePtr vifs;
|
||||
if (!(vifs = malloc(sizeof(*vifs)))) {
|
||||
xenXMError(conn, VIR_ERR_NO_MEMORY, "config");
|
||||
xenXMError(conn, VIR_ERR_NO_MEMORY, _("config"));
|
||||
goto error;
|
||||
}
|
||||
vifs->type = VIR_CONF_LIST;
|
||||
@ -2248,7 +2252,7 @@ virConfPtr xenXMParseXMLToConfig(virConnectPtr conn, const char *xml) {
|
||||
goto error;
|
||||
if (!(thisVif = malloc(sizeof(*thisVif)))) {
|
||||
free(vif);
|
||||
xenXMError(conn, VIR_ERR_NO_MEMORY, "config");
|
||||
xenXMError(conn, VIR_ERR_NO_MEMORY, _("config"));
|
||||
goto error;
|
||||
}
|
||||
thisVif->type = VIR_CONF_STRING;
|
||||
@ -2324,7 +2328,8 @@ virDomainPtr xenXMDomainDefineXML(virConnectPtr conn, const char *xml) {
|
||||
if (!(value = virConfGetValue(conf, "name")) ||
|
||||
value->type != VIR_CONF_STRING ||
|
||||
value->str == NULL) {
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR, "name config parameter is missing");
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||
_("name config parameter is missing"));
|
||||
goto error;
|
||||
}
|
||||
|
||||
@ -2332,17 +2337,20 @@ virDomainPtr xenXMDomainDefineXML(virConnectPtr conn, const char *xml) {
|
||||
/* domain exists, we will overwrite it */
|
||||
|
||||
if (!(oldfilename = (char *)virHashLookup(nameConfigMap, value->str))) {
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR, "can't retrieve config filename for domain to overwrite");
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||
_("can't retrieve config filename for domain to overwrite"));
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!(entry = virHashLookup(configCache, oldfilename))) {
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR, "can't retrieve config entry for domain to overwrite");
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||
_("can't retrieve config entry for domain to overwrite"));
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (xenXMConfigGetUUID(entry->conf, "uuid", uuid) < 0) {
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR, "uuid config parameter is missing");
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||
_("uuid config parameter is missing"));
|
||||
goto error;
|
||||
}
|
||||
|
||||
@ -2351,13 +2359,15 @@ virDomainPtr xenXMDomainDefineXML(virConnectPtr conn, const char *xml) {
|
||||
|
||||
/* Remove the name -> filename mapping */
|
||||
if (virHashRemoveEntry(nameConfigMap, value->str, NULL) < 0) {
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR, "failed to remove old domain from config map");
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||
_("failed to remove old domain from config map"));
|
||||
goto error;
|
||||
}
|
||||
|
||||
/* Remove the config record itself */
|
||||
if (virHashRemoveEntry(configCache, oldfilename, xenXMConfigFree) < 0) {
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR, "failed to remove old domain from config map");
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||
_("failed to remove old domain from config map"));
|
||||
goto error;
|
||||
}
|
||||
|
||||
@ -2365,7 +2375,8 @@ virDomainPtr xenXMDomainDefineXML(virConnectPtr conn, const char *xml) {
|
||||
}
|
||||
|
||||
if ((strlen(configDir) + 1 + strlen(value->str) + 1) > PATH_MAX) {
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR, "config file name is too long");
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||
_("config file name is too long"));
|
||||
goto error;
|
||||
}
|
||||
|
||||
@ -2374,17 +2385,19 @@ virDomainPtr xenXMDomainDefineXML(virConnectPtr conn, const char *xml) {
|
||||
strcat(filename, value->str);
|
||||
|
||||
if (virConfWriteFile(filename, conf) < 0) {
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR, "unable to write config file");
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||
_("unable to write config file"));
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!(entry = calloc(1, sizeof(*entry)))) {
|
||||
xenXMError(conn, VIR_ERR_NO_MEMORY, "config");
|
||||
xenXMError(conn, VIR_ERR_NO_MEMORY, _("config"));
|
||||
goto error;
|
||||
}
|
||||
|
||||
if ((entry->refreshedAt = time(NULL)) == ((time_t)-1)) {
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR, "unable to get current time");
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||
_("unable to get current time"));
|
||||
goto error;
|
||||
}
|
||||
|
||||
@ -2392,18 +2405,21 @@ virDomainPtr xenXMDomainDefineXML(virConnectPtr conn, const char *xml) {
|
||||
entry->conf = conf;
|
||||
|
||||
if (xenXMConfigGetUUID(conf, "uuid", uuid) < 0) {
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR, "uuid config parameter is missing");
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||
_("uuid config parameter is missing"));
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (virHashAddEntry(configCache, filename, entry) < 0) {
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR, "unable to store config file handle");
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||
_("unable to store config file handle"));
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (virHashAddEntry(nameConfigMap, value->str, entry->filename) < 0) {
|
||||
virHashRemoveEntry(configCache, filename, NULL);
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR, "unable to store config file handle");
|
||||
xenXMError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||
_("unable to store config file handle"));
|
||||
goto error;
|
||||
}
|
||||
|
||||
@ -2570,11 +2586,13 @@ xenXMDomainAttachDevice(virDomainPtr domain, const char *xml) {
|
||||
XML_PARSE_NOENT | XML_PARSE_NONET |
|
||||
XML_PARSE_NOERROR | XML_PARSE_NOWARNING);
|
||||
if (!doc) {
|
||||
xenXMError(domain->conn, VIR_ERR_XML_ERROR, "cannot read XML domain definition");
|
||||
xenXMError(domain->conn, VIR_ERR_XML_ERROR,
|
||||
_("cannot read XML domain definition"));
|
||||
goto cleanup;
|
||||
}
|
||||
if (!(ctxt = xmlXPathNewContext(doc))) {
|
||||
xenXMError(domain->conn, VIR_ERR_INTERNAL_ERROR, "cannot create XPath context");
|
||||
xenXMError(domain->conn, VIR_ERR_INTERNAL_ERROR,
|
||||
_("cannot create XPath context"));
|
||||
goto cleanup;
|
||||
}
|
||||
obj = xmlXPathEval(BAD_CAST "string(/domain/os/type)", ctxt);
|
||||
@ -2591,12 +2609,12 @@ xenXMDomainAttachDevice(virDomainPtr domain, const char *xml) {
|
||||
XML_PARSE_NOERROR | XML_PARSE_NOWARNING);
|
||||
if (!doc) {
|
||||
xenXMError(domain->conn, VIR_ERR_XML_ERROR,
|
||||
"cannot read XML domain definition");
|
||||
_("cannot read XML domain definition"));
|
||||
goto cleanup;
|
||||
}
|
||||
if (!(ctxt = xmlXPathNewContext(doc))) {
|
||||
xenXMError(domain->conn, VIR_ERR_INTERNAL_ERROR,
|
||||
"cannot create XPath context");
|
||||
_("cannot create XPath context"));
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
@ -2607,7 +2625,8 @@ xenXMDomainAttachDevice(virDomainPtr domain, const char *xml) {
|
||||
if (xenXMAttachInterface(domain, ctxt, hvm, node, entry))
|
||||
goto cleanup;
|
||||
} else {
|
||||
xenXMError(domain->conn, VIR_ERR_XML_ERROR, "unknown device");
|
||||
xenXMError(domain->conn, VIR_ERR_XML_ERROR,
|
||||
_("unknown device"));
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
@ -2989,11 +3008,13 @@ xenXMDomainDetachDevice(virDomainPtr domain, const char *xml) {
|
||||
XML_PARSE_NOENT | XML_PARSE_NONET |
|
||||
XML_PARSE_NOERROR | XML_PARSE_NOWARNING);
|
||||
if (!doc) {
|
||||
xenXMError(domain->conn, VIR_ERR_XML_ERROR, "cannot read XML domain definition");
|
||||
xenXMError(domain->conn, VIR_ERR_XML_ERROR,
|
||||
_("cannot read XML domain definition"));
|
||||
goto cleanup;
|
||||
}
|
||||
if (!(ctxt = xmlXPathNewContext(doc))) {
|
||||
xenXMError(domain->conn, VIR_ERR_INTERNAL_ERROR, "cannot create XPath context");
|
||||
xenXMError(domain->conn, VIR_ERR_INTERNAL_ERROR,
|
||||
_("cannot create XPath context"));
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user