comparison main/database/src/pq_conninfo.cc @ 12718:1af86934c14e octave-forge

Make compatible with Octaves new exception-based error handling. Retain compatibility with Octaves old error handling based on error_state. * src/error_helpers.[h,cc]: Added. * src/Makefile.in: Integrate error-helpers.[h,cc]. * src/config.h.in: Added. * configure.ac, src/config.h.in: Test presence of 'error_state' and presence of 'verror (octave_execution_exception&, const char *, va_list)'. * src/__pq_connect__.cc, src/command.cc, src/command.h, src/converters.cc, src/converters_arr_comp.cc, src/pq_connection.cc, src/pq_conninfo.cc, src/pq_exec.cc, src/pq_lo.cc, src/pq_update_types.cc: If necessary, include error-helpers.h, replace error() with c_verror(), set and check a different error indicator than error_state, use CHECK_ERROR or SET_ERR, explicitely check for errors instead of relying on Octave checking error_state when returning to the prompt.
author i7tiol
date Sat, 27 Feb 2016 11:11:04 +0000
parents 9cb56e0cd09b
children 52ca082757c2
comparison
equal deleted inserted replaced
12717:87989220360f 12718:1af86934c14e
18 */ 18 */
19 19
20 #include <octave/oct.h> 20 #include <octave/oct.h>
21 21
22 #include "pq_connection.h" 22 #include "pq_connection.h"
23 #include "error-helpers.h"
23 24
24 // PKG_ADD: autoload ("pq_conninfo", "pq_interface.oct"); 25 // PKG_ADD: autoload ("pq_conninfo", "pq_interface.oct");
25 // PKG_DEL: autoload ("pq_conninfo", "pq_interface.oct", "remove"); 26 // PKG_DEL: autoload ("pq_conninfo", "pq_interface.oct", "remove");
26 27
27 DEFUN_DLD (pq_conninfo, args, , 28 DEFUN_DLD (pq_conninfo, args, ,
40 print_usage (); 41 print_usage ();
41 42
42 return retval; 43 return retval;
43 } 44 }
44 45
45 std::string label (args(1).string_value ()); 46 std::string label;
46 47 CHECK_ERROR (label = args(1).string_value (), retval,
47 if (error_state) 48 "%s: second argument can not be converted to a string",
48 { 49 fname.c_str ());
49 error ("%s: second argument can not be converted to a string",
50 fname.c_str ());
51
52 return retval;
53 }
54 50
55 if (label.compare ("integer_datetimes")) 51 if (label.compare ("integer_datetimes"))
56 { 52 {
57 error ("%s: unrecognized label %s", fname.c_str (), label.c_str ()); 53 error ("%s: unrecognized label %s", fname.c_str (), label.c_str ());
58 54