Use gdbpy_convert_exception in a few more spots
authorTom Tromey <tom@tromey.com>
Tue, 25 Dec 2018 18:00:21 +0000 (11:00 -0700)
committerTom Tromey <tom@tromey.com>
Thu, 27 Dec 2018 20:34:38 +0000 (13:34 -0700)
I noticed a few places were converting a gdb exception to a Python
exception "by hand".  It's better to use the existing
gdbpy_convert_exception helper function, as this handles memory errors
correctly, and in the future may be enhanced in other ways.

gdb/ChangeLog
2018-12-27  Tom Tromey  <tom@tromey.com>

* python/py-value.c (convert_value_from_python): Use
gdbpy_convert_exception.
* python/py-param.c (parmpy_init): Use gdbpy_convert_exception.
* python/py-cmd.c (cmdpy_init): Use gdbpy_convert_exception.
* python/py-breakpoint.c (bppy_init): Use
gdbpy_convert_exception.

gdb/ChangeLog
gdb/python/py-breakpoint.c
gdb/python/py-cmd.c
gdb/python/py-param.c
gdb/python/py-value.c

index 9d1b1ab..15c59b2 100644 (file)
@@ -1,5 +1,14 @@
 2018-12-27  Tom Tromey  <tom@tromey.com>
 
+       * python/py-value.c (convert_value_from_python): Use
+       gdbpy_convert_exception.
+       * python/py-param.c (parmpy_init): Use gdbpy_convert_exception.
+       * python/py-cmd.c (cmdpy_init): Use gdbpy_convert_exception.
+       * python/py-breakpoint.c (bppy_init): Use
+       gdbpy_convert_exception.
+
+2018-12-27  Tom Tromey  <tom@tromey.com>
+
        * configure.nat (NATDEPFILES): Use nat/ prefix.
        * Makefile.in (CONFIG_SRC_SUBDIR): Add nat.
        (%.o: ${srcdir}/nat/%.c): Remove rule.
index d144bcf..29f6761 100644 (file)
@@ -874,9 +874,7 @@ bppy_init (PyObject *self, PyObject *args, PyObject *kwargs)
   CATCH (except, RETURN_MASK_ALL)
     {
       bppy_pending_object = NULL;
-      PyErr_Format (except.reason == RETURN_QUIT
-                   ? PyExc_KeyboardInterrupt : PyExc_RuntimeError,
-                   "%s", except.message);
+      gdbpy_convert_exception (except);
       return -1;
     }
   END_CATCH
index 0e39730..8fca90e 100644 (file)
@@ -579,9 +579,7 @@ cmdpy_init (PyObject *self, PyObject *args, PyObject *kw)
       xfree (docstring);
       xfree (pfx_name);
       Py_DECREF (self);
-      PyErr_Format (except.reason == RETURN_QUIT
-                   ? PyExc_KeyboardInterrupt : PyExc_RuntimeError,
-                   "%s", except.message);
+      gdbpy_convert_exception (except);
       return -1;
     }
   END_CATCH
index bff5d60..f8b151f 100644 (file)
@@ -738,9 +738,7 @@ parmpy_init (PyObject *self, PyObject *args, PyObject *kwds)
     {
       xfree (cmd_name);
       Py_DECREF (self);
-      PyErr_Format (except.reason == RETURN_QUIT
-                   ? PyExc_KeyboardInterrupt : PyExc_RuntimeError,
-                   "%s", except.message);
+      gdbpy_convert_exception (except);
       return -1;
     }
   END_CATCH
index d21c2fa..430415b 100644 (file)
@@ -1732,9 +1732,7 @@ convert_value_from_python (PyObject *obj)
     }
   CATCH (except, RETURN_MASK_ALL)
     {
-      PyErr_Format (except.reason == RETURN_QUIT
-                   ? PyExc_KeyboardInterrupt : PyExc_RuntimeError,
-                   "%s", except.message);
+      gdbpy_convert_exception (except);
       return NULL;
     }
   END_CATCH