]> git.proxmox.com Git - qemu.git/commitdiff
QError: Introduce qerror_format()
authorLuiz Capitulino <lcapitulino@redhat.com>
Wed, 1 Jun 2011 17:14:48 +0000 (12:14 -0500)
committerAnthony Liguori <aliguori@us.ibm.com>
Tue, 7 Jun 2011 18:52:10 +0000 (13:52 -0500)
Will be used by new error propagation framework to convert Error objects
into human-readable form.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
qerror.c
qerror.h

index af6ed39b258ba804429cbef053d906376ff073b7..c18641f927e21d75c4fe511be990092d9b9816a0 100644 (file)
--- a/qerror.c
+++ b/qerror.c
@@ -400,6 +400,21 @@ static QString *qerror_format_desc(QDict *error,
     return qstring;
 }
 
+QString *qerror_format(const char *fmt, QDict *error)
+{
+    const QErrorStringTable *entry = NULL;
+    int i;
+
+    for (i = 0; qerror_table[i].error_fmt; i++) {
+        if (strcmp(qerror_table[i].error_fmt, fmt) == 0) {
+            entry = &qerror_table[i];
+            break;
+        }
+    }
+
+    return qerror_format_desc(error, entry);
+}
+
 /**
  * qerror_human(): Format QError data into human-readable string.
  */
index df61d2c2c6f891f6b55f4de949f829d4a3b4dd2b..13ad9d43216ba9890d834dfe856051cd61e8c426 100644 (file)
--- a/qerror.h
+++ b/qerror.h
@@ -39,6 +39,7 @@ QString *qerror_human(const QError *qerror);
 void qerror_print(QError *qerror);
 void qerror_report_internal(const char *file, int linenr, const char *func,
                             const char *fmt, ...) GCC_FMT_ATTR(4, 5);
+QString *qerror_format(const char *fmt, QDict *error);
 #define qerror_report(fmt, ...) \
     qerror_report_internal(__FILE__, __LINE__, __func__, fmt, ## __VA_ARGS__)
 QError *qobject_to_qerror(const QObject *obj);