* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include <config.h>
#include "libsigrokdecode-internal.h" /* First, so we avoid a _POSIX_C_SOURCE warning. */
#include "libsigrokdecode.h"
-#include "config.h"
#include <stdarg.h>
#include <glib.h>
#include <frameobject.h> /* Python header not pulled in by default. */
return;
}
- msg = g_string_sized_new(128);
- va_start(args, format);
- g_string_vprintf(msg, format, args);
- va_end(args);
-
- /* Can be NULL. */
+ /* Send the exception error message(s) to srd_err(). */
if (evalue)
ename = (char *)Py_TYPE(evalue)->tp_name;
else
+ /* Can be NULL. */
ename = "(unknown exception)";
- /* Send the exception error message(s) to srd_err(). */
- py_str_as_str(py_str, &str);
+ msg = g_string_sized_new(128);
g_string_append(msg, ename);
g_string_append(msg, ": ");
+ va_start(args, format);
+ g_string_append_vprintf(msg, format, args);
+ va_end(args);
+ py_str_as_str(py_str, &str);
g_string_append(msg, str);
Py_DecRef(py_str);
- srd_err(msg->str);
+ srd_err("%s", msg->str);
/* Send a more precise error location to srd_dbg(), if we have it. */
if (etb && etb != Py_None) {
py_str_as_str(py_str, &tracestr);
Py_DecRef(py_str);
g_string_printf(msg, "%s in %s: %s", ename, tracestr, str);
- srd_dbg(msg->str);
+ srd_dbg("%s", msg->str);
g_free(tracestr);
}
g_free(str);