Add DOH Exit() and SetExitHandler()

Exit() is a wrapper for exit() by default, but SetExitHandler() allows
specifying a function to call instead.

This means that failures within DOH (e.g. Malloc() failing due to lack
of memory) will now perform cleanup such as removing output files.

This commit also cleans up exit statuses so SWIG should now reliably
exit with status 0 if the run was successful and status 1 if there was
an error (or a warning and -Werror was in effect).

Previously in some situations SWIG would try to exit with the status set
to the number of errors encountered, but that's problematic - for
example if there were 256 errors this would result in exit status 0 on
most platforms.  Also some error statuses have special meanings e.g.
those defined by <sysexits.h>.

Also SWIG/Javascript tried to exit with status -1 in a few places (which
typically results in exit status 255).
This commit is contained in:
Olly Betts 2022-03-06 12:33:54 +13:00
commit 55377bdc08
33 changed files with 243 additions and 173 deletions

View file

@ -134,7 +134,7 @@ int CFFI::top(Node *n) {
File *f_lisp = NewFile(lisp_filename, "w", SWIG_output_files());
if (!f_lisp) {
FileErrorDisplay(lisp_filename);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
if (CPlusPlus || CWrap) {
@ -142,7 +142,7 @@ int CFFI::top(Node *n) {
if (!f_begin) {
Delete(f_lisp);
Printf(stderr, "Unable to open %s for writing\n", cxx_filename);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
String *clos_filename = NewString("");
@ -151,7 +151,7 @@ int CFFI::top(Node *n) {
if (!f_clos) {
Delete(f_lisp);
Printf(stderr, "Unable to open %s for writing\n", cxx_filename);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
} else {
f_begin = NewString("");
@ -217,7 +217,7 @@ int CFFI::classHandler(Node *n) {
} else {
Printf(stderr, "Don't know how to deal with %s kind of class yet.\n", kind);
Printf(stderr, " (name: %s)\n", name);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
return SWIG_OK;
}
@ -873,7 +873,7 @@ void CFFI::emit_struct_union(Node *n, bool un = false) {
if (Strcmp(kind, "struct") != 0 && Strcmp(kind, "union") != 0) {
Printf(stderr, "Don't know how to deal with %s kind of class yet.\n", kind);
Printf(stderr, " (name: %s)\n", name);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
String *lisp_name = lispify_name(n, name, "'classname");
@ -909,7 +909,7 @@ void CFFI::emit_struct_union(Node *n, bool un = false) {
// nodeType(c),
// Getattr(c, "name"),
// Getattr(c, "type"));
// SWIG_exit(EXIT_FAILURE);
// Exit(EXIT_FAILURE);
} else {
SwigType *childType = NewStringf("%s%s", Getattr(c, "decl"), Getattr(c, "type"));

View file

@ -316,24 +316,24 @@ public:
if (!outfile) {
Printf(stderr, "Unable to determine outfile\n");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_begin = NewFile(outfile, "w", SWIG_output_files());
if (!f_begin) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
if (directorsEnabled()) {
if (!outfile_h) {
Printf(stderr, "Unable to determine outfile_h\n");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_runtime_h = NewFile(outfile_h, "w", SWIG_output_files());
if (!f_runtime_h) {
FileErrorDisplay(outfile_h);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
}
@ -670,7 +670,7 @@ public:
f_single_out = NewFile(filen, "w", SWIG_output_files());
if (!f_single_out) {
FileErrorDisplay(filen);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Append(filenames_list, Copy(filen));
Delete(filen);
@ -684,7 +684,7 @@ public:
File *f = NewFile(filen, "w", SWIG_output_files());
if (!f) {
FileErrorDisplay(filen);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Append(filenames_list, Copy(filen));
Delete(filen);
@ -2122,12 +2122,12 @@ public:
full_imclass_name = NewStringf("%s", imclass_name);
if (Cmp(proxy_class_name, imclass_name) == 0) {
Printf(stderr, "Class name cannot be equal to intermediary class name: %s\n", proxy_class_name);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
if (Cmp(proxy_class_name, module_class_name) == 0) {
Printf(stderr, "Class name cannot be equal to module class name: %s\n", proxy_class_name);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
} else {
if (namespce) {
@ -3660,7 +3660,7 @@ public:
if (newdir_error) {
Printf(stderr, "%s\n", newdir_error);
Delete(newdir_error);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Printv(output_directory, nspace_subdirectory, SWIG_FILE_DELIMITER, 0);
Delete(nspace_subdirectory);

View file

@ -378,24 +378,24 @@ public:
if (!outfile) {
Printf(stderr, "Unable to determine outfile\n");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_begin = NewFile(outfile, "w", SWIG_output_files());
if (!f_begin) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
if (directorsEnabled()) {
if (!outfile_h) {
Printf(stderr, "Unable to determine outfile_h\n");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_runtime_h = NewFile(outfile_h, "w", SWIG_output_files());
if (!f_runtime_h) {
FileErrorDisplay(outfile_h);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
}
@ -518,7 +518,7 @@ public:
File *im_d_file = NewFile(filen, "w", SWIG_output_files());
if (!im_d_file) {
FileErrorDisplay(filen);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Append(filenames_list, Copy(filen));
Delete(filen);
@ -549,7 +549,7 @@ public:
File *proxy_d_file = NewFile(filen, "w", SWIG_output_files());
if (!proxy_d_file) {
FileErrorDisplay(filen);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Append(filenames_list, Copy(filen));
Delete(filen);
@ -583,7 +583,7 @@ public:
File *file = NewFile(filename, "w", SWIG_output_files());
if (!file) {
FileErrorDisplay(filename);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Delete(filename);
@ -863,7 +863,7 @@ public:
File *class_file = NewFile(filename, "w", SWIG_output_files());
if (!class_file) {
FileErrorDisplay(filename);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Append(filenames_list, Copy(filename));
Delete(filename);
@ -1335,7 +1335,7 @@ public:
Delete(output_directory);
if (!class_file) {
FileErrorDisplay(filename);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Append(filenames_list, Copy(filename));
Delete(filename);
@ -3434,7 +3434,7 @@ private:
class_file = NewFile(filename, "w", SWIG_output_files());
if (!class_file) {
FileErrorDisplay(filename);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Append(filenames_list, Copy(filename));
Delete(filename);
@ -3756,7 +3756,7 @@ private:
Swig_error(input_file, line_number,
"Class name cannot be equal to intermediary D module name: %s\n",
class_name);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
String *nspace = getNSpace();
@ -3769,7 +3769,7 @@ private:
Swig_error(input_file, line_number,
"Class name cannot be the same as the root package it is in: %s\n",
class_name);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Delete(dotless_package);
} else {
@ -3778,7 +3778,7 @@ private:
Swig_error(input_file, line_number,
"Class name cannot be the same as the outermost namespace it is in: %s\n",
class_name);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Delete(outer);
}
@ -3790,7 +3790,7 @@ private:
Swig_error(input_file, line_number,
"Class name cannot be the same as the innermost namespace it is in: %s\n",
class_name);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Delete(inner);
} else {
@ -3798,7 +3798,7 @@ private:
Swig_error(input_file, line_number,
"Class name cannot be equal to proxy D module name: %s\n",
class_name);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
}
}
@ -4498,7 +4498,7 @@ private:
if (newdir_error) {
Printf(stderr, "%s\n", newdir_error);
Delete(newdir_error);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Printv(output_directory, nspace_subdirectory, SWIG_FILE_DELIMITER, 0);
Delete(nspace_subdirectory);

View file

@ -337,7 +337,7 @@ private:
if (saw_nocgo_flag) {
Printf(stderr, "SWIG -go: -no-cgo option is no longer supported\n");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
if (gccgo_flag && !pkgpath_option && !prefix_option) {
@ -356,7 +356,7 @@ private:
// for this test to simply be taken out.
if (intgo_type_size == 0 && !display_help) {
Printf(stderr, "SWIG -go: -intgosize option required but not specified\n");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
if (intgo_type_size == 32) {
@ -453,7 +453,7 @@ private:
FILE *swig_input = Swig_open(swig_filename);
if (swig_input == NULL) {
FileErrorDisplay(swig_filename);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
String *swig_input_content = Swig_read_file(swig_input);
siphash(&hash, Char(swig_input_content), Len(swig_input_content));
@ -467,25 +467,25 @@ private:
f_c_begin = NewFile(c_filename, "w", SWIG_output_files());
if (!f_c_begin) {
FileErrorDisplay(c_filename);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
if (directorsEnabled()) {
if (!c_filename_h) {
Printf(stderr, "Unable to determine outfile_h\n");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_c_directors_h = NewFile(c_filename_h, "w", SWIG_output_files());
if (!f_c_directors_h) {
FileErrorDisplay(c_filename_h);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
}
f_go_begin = NewFile(go_filename, "w", SWIG_output_files());
if (!f_go_begin) {
FileErrorDisplay(go_filename);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_c_runtime = NewString("");

View file

@ -132,7 +132,7 @@ public:
if (argv[i]) {
if (strcmp(argv[i], "-help") == 0) {
fputs(usage, stdout);
SWIG_exit(EXIT_SUCCESS);
Exit(EXIT_SUCCESS);
} else if (strcmp(argv[i], "-prefix") == 0) {
if (argv[i + 1]) {
prefix = NewString(argv[i + 1]);
@ -176,7 +176,7 @@ public:
procdoc = NewFile(argv[i + 1], "w", SWIG_output_files());
if (!procdoc) {
FileErrorDisplay(argv[i + 1]);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Swig_mark_arg(i);
Swig_mark_arg(i + 1);
@ -255,7 +255,7 @@ public:
if (goops) {
if (linkage != GUILE_LSTYLE_PASSIVE && linkage != GUILE_LSTYLE_MODULE) {
Printf(stderr, "guile: GOOPS support requires passive or module linkage\n");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
}
@ -298,7 +298,7 @@ public:
f_begin = NewFile(outfile, "w", SWIG_output_files());
if (!f_begin) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_runtime = NewString("");
f_init = NewString("");
@ -495,7 +495,7 @@ public:
File *scmstubfile = NewFile(fname, "w", SWIG_output_files());
if (!scmstubfile) {
FileErrorDisplay(fname);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Delete(fname);
@ -526,7 +526,7 @@ public:
File *goopsfile = NewFile(fname, "w", SWIG_output_files());
if (!goopsfile) {
FileErrorDisplay(fname);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Delete(fname);
Swig_banner_target_lang(goopsfile, ";;;");

View file

@ -90,7 +90,7 @@ static void collect_interface_base_classes(Node *n) {
if (!GetFlag(base.item, "feature:ignore")) {
if (!Getattr(base.item, "feature:interface")) {
Swig_error(Getfile(n), Getline(n), "Base class '%s' of '%s' is not similarly marked as an interface.\n", SwigType_namestr(Getattr(base.item, "name")), SwigType_namestr(Getattr(n, "name")));
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
}
}
@ -114,7 +114,7 @@ static void process_interface_name(Node *n) {
String *interface_name = Getattr(n, "feature:interface:name");
if (!Len(interface_name)) {
Swig_error(Getfile(n), Getline(n), "The interface feature for '%s' is missing the name attribute.\n", SwigType_namestr(Getattr(n, "name")));
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
if (Strchr(interface_name, '%')) {
String *name = NewStringf(interface_name, Getattr(n, "sym:name"));

View file

@ -371,24 +371,24 @@ public:
if (!outfile) {
Printf(stderr, "Unable to determine outfile\n");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_begin = NewFile(outfile, "w", SWIG_output_files());
if (!f_begin) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
if (directorsEnabled()) {
if (!outfile_h) {
Printf(stderr, "Unable to determine outfile_h\n");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_runtime_h = NewFile(outfile_h, "w", SWIG_output_files());
if (!f_runtime_h) {
FileErrorDisplay(outfile_h);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
}
@ -521,7 +521,7 @@ public:
File *f_im = NewFile(filen, "w", SWIG_output_files());
if (!f_im) {
FileErrorDisplay(filen);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Append(filenames_list, Copy(filen));
Delete(filen);
@ -576,7 +576,7 @@ public:
File *f_module = NewFile(filen, "w", SWIG_output_files());
if (!f_module) {
FileErrorDisplay(filen);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Append(filenames_list, Copy(filen));
Delete(filen);
@ -635,7 +635,7 @@ public:
File *f_module = NewFile(filen, "w", SWIG_output_files());
if (!f_module) {
FileErrorDisplay(filen);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Append(filenames_list, Copy(filen));
Delete(filen);
@ -1343,7 +1343,7 @@ public:
File *f_enum = NewFile(filen, "w", SWIG_output_files());
if (!f_enum) {
FileErrorDisplay(filen);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Append(filenames_list, Copy(filen));
Delete(filen);
@ -2215,12 +2215,12 @@ public:
if (Cmp(proxy_class_name, imclass_name) == 0) {
Printf(stderr, "Class name cannot be equal to intermediary class name: %s\n", proxy_class_name);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
if (Cmp(proxy_class_name, module_class_name) == 0) {
Printf(stderr, "Class name cannot be equal to module class name: %s\n", proxy_class_name);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
} else {
if (outerClassesPrefix) {
@ -2260,7 +2260,7 @@ public:
f_proxy = NewFile(filen, "w", SWIG_output_files());
if (!f_proxy) {
FileErrorDisplay(filen);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Append(filenames_list, Copy(filen));
Delete(filen);
@ -2294,7 +2294,7 @@ public:
f_interface = NewFile(filen, "w", SWIG_output_files());
if (!f_interface) {
FileErrorDisplay(filen);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Append(filenames_list, filen); // file name ownership goes to the list
emitBanner(f_interface);
@ -3497,7 +3497,7 @@ public:
File *f_swigtype = NewFile(filen, "w", SWIG_output_files());
if (!f_swigtype) {
FileErrorDisplay(filen);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Append(filenames_list, Copy(filen));
Delete(filen);
@ -3712,7 +3712,7 @@ public:
if (newdir_error) {
Printf(stderr, "%s\n", newdir_error);
Delete(newdir_error);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Printv(output_directory, nspace_subdirectory, SWIG_FILE_DELIMITER, 0);
Delete(nspace_subdirectory);

View file

@ -537,21 +537,21 @@ void JAVASCRIPT::main(int argc, char *argv[]) {
if (strcmp(argv[i], "-v8") == 0) {
if (engine != -1) {
Printf(stderr, ERR_MSG_ONLY_ONE_ENGINE_PLEASE);
SWIG_exit(-1);
Exit(EXIT_FAILURE);
}
Swig_mark_arg(i);
engine = JSEmitter::V8;
} else if (strcmp(argv[i], "-jsc") == 0) {
if (engine != -1) {
Printf(stderr, ERR_MSG_ONLY_ONE_ENGINE_PLEASE);
SWIG_exit(-1);
Exit(EXIT_FAILURE);
}
Swig_mark_arg(i);
engine = JSEmitter::JavascriptCore;
} else if (strcmp(argv[i], "-node") == 0) {
if (engine != -1) {
Printf(stderr, ERR_MSG_ONLY_ONE_ENGINE_PLEASE);
SWIG_exit(-1);
Exit(EXIT_FAILURE);
}
Swig_mark_arg(i);
engine = JSEmitter::NodeJS;
@ -595,7 +595,7 @@ void JAVASCRIPT::main(int argc, char *argv[]) {
default:
{
Printf(stderr, "SWIG Javascript: Unknown engine. Please specify one of '-jsc', '-v8' or '-node'.\n");
SWIG_exit(-1);
Exit(EXIT_FAILURE);
break;
}
}
@ -666,7 +666,7 @@ Template JSEmitter::getTemplate(const String *name) {
if (!templ) {
Printf(stderr, "Could not find template %s\n.", name);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Template t(templ, name);
@ -1576,7 +1576,7 @@ void JSCEmitter::marshalInputArgs(Node *n, ParmList *parms, Wrapper *wrapper, Ma
break;
default:
Printf(stderr, "Illegal MarshallingMode.");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
tm = emitInputTypemap(n, p, wrapper, arg);
Delete(arg);
@ -1599,7 +1599,7 @@ int JSCEmitter::initialize(Node *n) {
f_wrap_cpp = NewFile(outfile, "w", SWIG_output_files());
if (!f_wrap_cpp) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
/* Initialization of members */
@ -1920,7 +1920,7 @@ int V8Emitter::initialize(Node *n) {
f_wrap_cpp = NewFile(outfile, "w", SWIG_output_files());
if (!f_wrap_cpp) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_runtime = NewString("");
@ -2214,7 +2214,7 @@ void V8Emitter::marshalInputArgs(Node *n, ParmList *parms, Wrapper *wrapper, Mar
break;
default:
Printf(stderr, "Illegal MarshallingMode.");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
tm = emitInputTypemap(n, p, wrapper, arg);
@ -2370,7 +2370,7 @@ Template::Template(const String *code_) {
if (!code_) {
Printf(stdout, "Template code was null. Illegal input for template.");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
code = NewString(code_);
templateName = NewString("");
@ -2380,7 +2380,7 @@ Template::Template(const String *code_, const String *templateName_) {
if (!code_) {
Printf(stdout, "Template code was null. Illegal input for template.");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
code = NewString(code_);

View file

@ -304,7 +304,7 @@ public:
f_begin = NewFile(outfile, "w", SWIG_output_files());
if (!f_begin) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_runtime = NewString("");
f_init = NewString("");

View file

@ -403,14 +403,14 @@ static void SWIG_dump_runtime() {
outfile = lang->defaultExternalRuntimeFilename();
if (!outfile) {
Printf(stderr, "*** Please provide a filename for the external runtime\n");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
}
runtime = NewFile(outfile, "w", SWIG_output_files());
if (!runtime) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Swig_banner(runtime);
@ -420,7 +420,7 @@ static void SWIG_dump_runtime() {
if (!s) {
Printf(stderr, "*** Unable to open 'swiglabels.swg'\n");
Delete(runtime);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Printf(runtime, "%s", s);
Delete(s);
@ -429,7 +429,7 @@ static void SWIG_dump_runtime() {
if (!s) {
Printf(stderr, "*** Unable to open 'swigerrors.swg'\n");
Delete(runtime);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Printf(runtime, "%s", s);
Delete(s);
@ -438,7 +438,7 @@ static void SWIG_dump_runtime() {
if (!s) {
Printf(stderr, "*** Unable to open 'swigrun.swg'\n");
Delete(runtime);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Printf(runtime, "%s", s);
Delete(s);
@ -451,13 +451,13 @@ static void SWIG_dump_runtime() {
if (!s) {
Printf(stderr, "*** Unable to open 'runtime.swg'\n");
Delete(runtime);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Printf(runtime, "%s", s);
Delete(s);
Delete(runtime);
SWIG_exit(EXIT_SUCCESS);
Exit(EXIT_SUCCESS);
}
static void getoptions(int argc, char *argv[]) {
@ -531,7 +531,7 @@ static void getoptions(int argc, char *argv[]) {
Printf(stdout, "%s\n", version);
Delete(version);
Swig_mark_arg(i);
SWIG_exit(EXIT_SUCCESS);
Exit(EXIT_SUCCESS);
} else if (strcmp(argv[i], "-small") == 0) {
Wrapper_compact_print_mode_set(1);
Wrapper_virtual_elimination_mode_set(1);
@ -594,7 +594,7 @@ static void getoptions(int argc, char *argv[]) {
Printf(stdout, "%s\n", SwigLib);
if (SwigLibWinUnix)
Printf(stdout, "%s\n", SwigLibWinUnix);
SWIG_exit(EXIT_SUCCESS);
Exit(EXIT_SUCCESS);
} else if (strcmp(argv[i], "-o") == 0) {
Swig_mark_arg(i);
if (argv[i + 1]) {
@ -647,7 +647,7 @@ static void getoptions(int argc, char *argv[]) {
#endif
);
fprintf(stdout, "\nPlease see %s for reporting bugs and further information\n", PACKAGE_BUGREPORT);
SWIG_exit(EXIT_SUCCESS);
Exit(EXIT_SUCCESS);
} else if (strcmp(argv[i], "-copyright") == 0) {
fprintf(stdout, "\nSWIG Version %s\n", Swig_package_version());
fprintf(stdout, "Copyright (c) 1995-1998\n");
@ -656,7 +656,7 @@ static void getoptions(int argc, char *argv[]) {
fprintf(stdout, "University of Chicago\n");
fprintf(stdout, "Copyright (c) 2005-2006\n");
fprintf(stdout, "Arizona Board of Regents (University of Arizona)\n");
SWIG_exit(EXIT_SUCCESS);
Exit(EXIT_SUCCESS);
} else if (strncmp(argv[i], "-l", 2) == 0) {
// Add a new directory search path
Append(libfiles, argv[i] + 2);
@ -880,9 +880,14 @@ static void getoptions(int argc, char *argv[]) {
}
}
static void SWIG_exit_handler(int status);
int SWIG_main(int argc, char *argv[], const TargetLanguageModule *tlm) {
char *c;
/* Set function for Exit() to call. */
SetExitHandler(SWIG_exit_handler);
/* Initialize the SWIG core */
Swig_init();
@ -969,7 +974,7 @@ int SWIG_main(int argc, char *argv[], const TargetLanguageModule *tlm) {
if (help) {
Printf(stdout, "\nNote: 'swig -<lang> -help' displays options for a specific target language.\n\n");
SWIG_exit(EXIT_SUCCESS); // Exit if we're in help mode
Exit(EXIT_SUCCESS); // Exit if we're in help mode
}
// Check all of the options to make sure we're cool.
@ -978,7 +983,7 @@ int SWIG_main(int argc, char *argv[], const TargetLanguageModule *tlm) {
if (CPlusPlus && cparse_cplusplusout) {
Printf(stderr, "The -c++out option is for C input but C++ input has been requested via -c++\n");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
install_opts(argc, argv);
@ -1043,7 +1048,7 @@ int SWIG_main(int argc, char *argv[], const TargetLanguageModule *tlm) {
File *f_outfile = NewFile(outfile, "w", SWIG_output_files());
if (!f_outfile) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
} else {
if (Verbose)
Printf(stdout, "'%s' checked out from the SWIG library.\n", outfile);
@ -1071,7 +1076,7 @@ int SWIG_main(int argc, char *argv[], const TargetLanguageModule *tlm) {
} else {
Printf(stderr, "Unable to find file '%s'.\n", input_file);
}
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
} else {
Swig_warning(WARN_DEPRECATED_INPUT_FILE, "SWIG", 1, "Use of the include path to find the input file is deprecated and will not work with ccache. Please include the path when specifying the input file.\n"); // so that behaviour is like c/c++ compilers
}
@ -1080,7 +1085,7 @@ int SWIG_main(int argc, char *argv[], const TargetLanguageModule *tlm) {
if (!tlm) {
Printf(stderr, "No target language specified.\n");
Printf(stderr, "Use 'swig -help' for more information.\n");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
if (!no_cpp) {
@ -1104,11 +1109,11 @@ int SWIG_main(int argc, char *argv[], const TargetLanguageModule *tlm) {
fclose(df);
}
if (Swig_error_count()) {
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
if (cpp_only) {
Printf(stdout, "%s", cpps);
SWIG_exit(EXIT_SUCCESS);
Exit(EXIT_SUCCESS);
}
if (depend) {
if (!no_cpp) {
@ -1130,14 +1135,14 @@ int SWIG_main(int argc, char *argv[], const TargetLanguageModule *tlm) {
f_dependencies_file = NewFile(dependencies_file, "w", SWIG_output_files());
if (!f_dependencies_file) {
FileErrorDisplay(dependencies_file);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
} else if (!depend_only) {
String *filename = NewStringf("%s_wrap.%s", basename, depends_extension);
f_dependencies_file = NewFile(filename, "w", SWIG_output_files());
if (!f_dependencies_file) {
FileErrorDisplay(filename);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
} else
f_dependencies_file = stdout;
@ -1170,14 +1175,14 @@ int SWIG_main(int argc, char *argv[], const TargetLanguageModule *tlm) {
if (f_dependencies_file != stdout)
Delete(f_dependencies_file);
if (depend_only)
SWIG_exit(EXIT_SUCCESS);
Exit(EXIT_SUCCESS);
Delete(inputfile_filename);
Delete(basename);
Delete(phony_targets);
} else {
Printf(stderr, "Cannot generate dependencies with -nopreprocess\n");
// Actually we could but it would be inefficient when just generating dependencies, as it would be done after Swig_cparse
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
}
Seek(cpps, 0, SEEK_SET);
@ -1282,13 +1287,13 @@ int SWIG_main(int argc, char *argv[], const TargetLanguageModule *tlm) {
if (top) {
if (!Getattr(top, "name")) {
Printf(stderr, "No module name specified using %%module or -module.\n");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
} else {
/* Set some filename information on the object */
String *infile = scanner_get_main_input_file();
if (!infile) {
Printf(stderr, "Missing input file in preprocessed output.\n");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Setattr(top, "infile", infile); // Note: if nopreprocess then infile is the original input file, otherwise input_file
Setattr(top, "inputfile", input_file);
@ -1362,7 +1367,7 @@ int SWIG_main(int argc, char *argv[], const TargetLanguageModule *tlm) {
if (!f_outfiles) {
Printf(stderr, "Failed to write list of output files to the filename '%s' specified in CCACHE_OUTFILES environment variable - ", outfiles);
FileErrorDisplay(outfiles);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
} else {
int i;
for (i = 0; i < Len(all_output_files); i++)
@ -1384,22 +1389,22 @@ int SWIG_main(int argc, char *argv[], const TargetLanguageModule *tlm) {
error_count += Swig_error_count();
if (error_count != 0)
SWIG_exit(error_count);
Exit(EXIT_FAILURE);
return 0;
}
/* -----------------------------------------------------------------------------
* SWIG_exit()
* SWIG_exit_handler()
*
* Cleanup and either freeze or exit
* ----------------------------------------------------------------------------- */
void SWIG_exit(int exit_code) {
static void SWIG_exit_handler(int status) {
while (freeze) {
}
if (exit_code > 0) {
if (status > 0) {
CloseAllOpenFiles();
/* Remove all generated files */
@ -1413,5 +1418,5 @@ void SWIG_exit(int exit_code) {
}
}
exit(exit_code);
exit(status);
}

View file

@ -66,7 +66,7 @@ public:
if (argv[i]) {
if (strcmp(argv[i], "-help") == 0) {
fputs(usage, stdout);
SWIG_exit(0);
Exit(EXIT_SUCCESS);
} else if (strcmp(argv[i], "-prefix") == 0) {
if (argv[i + 1]) {
prefix = NewString(argv[i + 1]);
@ -130,7 +130,7 @@ public:
f_begin = NewFile(outfile, "w", SWIG_output_files());
if (!f_begin) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_runtime = NewString("");
f_init = NewString("");

View file

@ -99,10 +99,10 @@ public:
if (argv[i]) {
if (strcmp(argv[i], "-help") == 0) {
fputs(usage, stdout);
SWIG_exit(0);
Exit(EXIT_SUCCESS);
} else if (strcmp(argv[i], "-where") == 0) {
PrintIncludeArg();
SWIG_exit(0);
Exit(EXIT_SUCCESS);
} else if (strcmp(argv[i], "-prefix") == 0) {
if (argv[i + 1]) {
prefix = NewString(argv[i + 1]);
@ -228,7 +228,7 @@ public:
f_begin = NewFile(outfile, "w", SWIG_output_files());
if (!f_begin) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_runtime = NewString("");
f_init = NewString("");
@ -311,12 +311,12 @@ public:
String *mlfilen = NewStringf("%s%s", SWIG_output_directory(), mlfile);
if ((f_mlout = NewFile(mlfilen, "w", SWIG_output_files())) == 0) {
FileErrorDisplay(mlfilen);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
String *mlifilen = NewStringf("%s%s", SWIG_output_directory(), mlifile);
if ((f_mliout = NewFile(mlifilen, "w", SWIG_output_files())) == 0) {
FileErrorDisplay(mlifilen);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
emitBanner(f_mlout);
emitBanner(f_mliout);

View file

@ -119,7 +119,7 @@ public:
} else if (strcmp(argv[i], "-nocppcast") == 0) {
Printf(stderr, "Deprecated command line option: %s. This option is no longer supported.\n", argv[i]);
Swig_mark_arg(i);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
}
}
@ -167,7 +167,7 @@ public:
f_begin = NewFile(outfile, "w", SWIG_output_files());
if (!f_begin) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_runtime = NewString("");
f_header = NewString("");

View file

@ -154,11 +154,11 @@ public:
if (strcmp(argv[i], "-package") == 0) {
Printv(stderr,
"*** -package is no longer supported\n*** use the directive '%module A::B::C' in your interface file instead\n*** see the Perl section in the manual for details.\n", NIL);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
} else if (strcmp(argv[i], "-interface") == 0) {
Printv(stderr,
"*** -interface is no longer supported\n*** use the directive '%module A::B::C' in your interface file instead\n*** see the Perl section in the manual for details.\n", NIL);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
} else if (strcmp(argv[i], "-exportall") == 0) {
export_all = 1;
Swig_mark_arg(i);
@ -197,7 +197,7 @@ public:
} else if (strcmp(argv[i], "-nocppcast") == 0) {
Printf(stderr, "Deprecated command line option: %s. This option is no longer supported.\n", argv[i]);
Swig_mark_arg(i);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
}
}
@ -276,7 +276,7 @@ public:
f_begin = NewFile(outfile, "w", SWIG_output_files());
if (!f_begin) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_runtime = NewString("");
f_init = NewString("");
@ -289,7 +289,7 @@ public:
f_runtime_h = NewFile(outfile_h, "w", SWIG_output_files());
if (!f_runtime_h) {
FileErrorDisplay(outfile_h);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
}
@ -407,7 +407,7 @@ public:
String *filen = NewStringf("%s%s", SWIG_output_directory(), pmfile);
if ((f_pm = NewFile(filen, "w", SWIG_output_files())) == 0) {
FileErrorDisplay(filen);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Delete(filen);
filen = NULL;

View file

@ -342,7 +342,7 @@ public:
f_begin = NewFile(outfile, "w", SWIG_output_files());
if (!f_begin) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_runtime = NewStringEmpty();
@ -366,7 +366,7 @@ public:
f_runtime_h = NewFile(outfile_h, "w", SWIG_output_files());
if (!f_runtime_h) {
FileErrorDisplay(outfile_h);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
}
@ -438,7 +438,7 @@ public:
f_h = NewFile(filen, "w", SWIG_output_files());
if (!f_h) {
FileErrorDisplay(filen);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Swig_banner(f_h);
@ -651,7 +651,7 @@ public:
File *f_phpcode = NewFile(php_filename, "w", SWIG_output_files());
if (!f_phpcode) {
FileErrorDisplay(php_filename);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Printf(f_phpcode, "<?php\n\n");

View file

@ -440,7 +440,7 @@ public:
strcmp(argv[i], "-proxydel") == 0) {
Printf(stderr, "Deprecated command line option: %s. This option is no longer supported.\n", argv[i]);
Swig_mark_arg(i);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
}
@ -448,7 +448,7 @@ public:
if (builtin && !shadow) {
Printf(stderr, "Incompatible options -builtin and -noproxy specified.\n");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
if (fastproxy) {
@ -507,22 +507,22 @@ public:
}
if (Getattr(options, "nocastmode")) {
Printf(stderr, "Deprecated module option: %s. This option is no longer supported.\n", "nocastmode");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
if (Getattr(options, "extranative")) {
extranative = 1;
}
if (Getattr(options, "noextranative")) {
Printf(stderr, "Deprecated module option: %s. This option is no longer supported.\n", "noextranative");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
if (Getattr(options, "outputtuple")) {
Printf(stderr, "Deprecated module option: %s. This option is no longer supported.\n", "outputtuple");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
if (Getattr(options, "nooutputtuple")) {
Printf(stderr, "Deprecated module option: %s. This option is no longer supported.\n", "nooutputtuple");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
mod_docstring = Getattr(options, "docstring");
package = Getattr(options, "package");
@ -541,7 +541,7 @@ public:
f_begin = NewFile(outfile, "w", SWIG_output_files());
if (!f_begin) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_runtime = NewString("");
f_init = NewString("");
@ -565,7 +565,7 @@ public:
f_runtime_h = NewFile(outfile_h, "w", SWIG_output_files());
if (!f_runtime_h) {
FileErrorDisplay(outfile_h);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
} else {
f_runtime_h = f_runtime;
@ -670,7 +670,7 @@ public:
Insert(module, 0, "_");
if ((f_shadow_py = NewFile(filen, "w", SWIG_output_files())) == 0) {
FileErrorDisplay(filen);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Delete(filen);
filen = NULL;

View file

@ -805,7 +805,7 @@ int R::DumpCode(Node *n) {
File *scode = NewFile(output_filename, "w", SWIG_output_files());
if (!scode) {
FileErrorDisplay(output_filename);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Delete(output_filename);
@ -820,7 +820,7 @@ int R::DumpCode(Node *n) {
File *runtime = NewFile(outfile,"w", SWIG_output_files());
if (!runtime) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Printf(runtime, "%s", f_begin);
@ -837,7 +837,7 @@ int R::DumpCode(Node *n) {
File *ns = NewFile(output_filename, "w", SWIG_output_files());
if (!ns) {
FileErrorDisplay(output_filename);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
Delete(output_filename);
@ -2740,7 +2740,7 @@ void R::main(int argc, char *argv[]) {
} else if (strcmp(argv[i], "-nocppcast") == 0) {
Printf(stderr, "Deprecated command line option: %s. This option is no longer supported.\n", argv[i]);
Swig_mark_arg(i);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
if (debugMode) {

View file

@ -898,7 +898,7 @@ public:
} else if (strcmp(argv[i], "-nocppcast") == 0) {
Printf(stderr, "Deprecated command line option: %s. This option is no longer supported.\n", argv[i]);
Swig_mark_arg(i);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
}
}
@ -1037,13 +1037,13 @@ public:
if (!outfile) {
Printf(stderr, "Unable to determine outfile\n");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_begin = NewFile(outfile, "w", SWIG_output_files());
if (!f_begin) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_runtime = NewString("");
@ -1058,12 +1058,12 @@ public:
if (directorsEnabled()) {
if (!outfile_h) {
Printf(stderr, "Unable to determine outfile_h\n");
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_runtime_h = NewFile(outfile_h, "w", SWIG_output_files());
if (!f_runtime_h) {
FileErrorDisplay(outfile_h);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
}

View file

@ -183,7 +183,7 @@ public:
beginSection = NewFile(outputFilename, "w", SWIG_output_files());
if (!beginSection) {
FileErrorDisplay(outputFilename);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
runtimeSection = NewString("");
initSection = NewString("");
@ -824,7 +824,7 @@ public:
builderFile = NewFile(builderFilename, "w", SWIG_output_files());
if (!builderFile) {
FileErrorDisplay(builderFilename);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
emitBanner(builderFile);
@ -949,7 +949,7 @@ public:
gatewayXMLFile = NewFile(gatewayXMLFilename, "w", SWIG_output_files());
if (!gatewayXMLFile) {
FileErrorDisplay(gatewayXMLFilename);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
// Add a slightly modified SWIG banner to the gateway XML ("--modify" is illegal in XML)
gatewayXML = NewString("");
@ -1066,7 +1066,7 @@ public:
loaderFile = NewFile(loaderFilename, "w", SWIG_output_files());
if (!loaderFile) {
FileErrorDisplay(loaderFilename);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
emitBanner(loaderFile);

View file

@ -247,7 +247,7 @@ int main(int margc, char **margv) {
Printf(stderr, "Target language option %s (%s) is no longer supported.\n", language_module->name, language_module->help);
else
Printf(stderr, "Target language option %s is no longer supported.\n", language_module->name);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
} else if ((strcmp(argv[i], "-help") == 0) || (strcmp(argv[i], "--help") == 0)) {
if (strcmp(argv[i], "--help") == 0)

View file

@ -113,7 +113,7 @@ public:
} else if (strcmp(argv[i], "-nocppcast") == 0) {
Printf(stderr, "Deprecated command line option: %s. This option is no longer supported.\n", argv[i]);
Swig_mark_arg(i);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
}
}
@ -138,7 +138,7 @@ public:
f_begin = NewFile(outfile, "w", SWIG_output_files());
if (!f_begin) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_runtime = NewString("");
f_init = NewString("");
@ -182,7 +182,7 @@ public:
if ((f_shadow = NewFile(filen, "w", SWIG_output_files())) == 0) {
FileErrorDisplay(filen);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
f_shadow_stubs = NewString("");

View file

@ -969,7 +969,7 @@ class TypePass:private Dispatcher {
if (Getattr(c, "sym:overloaded") != checkoverloaded) {
Printf(stdout, "sym:overloaded error c:%p checkoverloaded:%p\n", c, checkoverloaded);
Swig_print_node(c);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
String *decl = Strcmp(nodeType(c), "using") == 0 ? NewString("------") : Getattr(c, "decl");
@ -977,7 +977,7 @@ class TypePass:private Dispatcher {
if (!Getattr(c, "sym:overloaded")) {
Printf(stdout, "sym:overloaded error.....%p\n", c);
Swig_print_node(c);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
c = Getattr(c, "sym:nextSibling");
}

View file

@ -52,7 +52,7 @@ public:
out = NewFile(outfile, "w", SWIG_output_files());
if (!out) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
continue;
}
@ -89,7 +89,7 @@ public:
out = NewFile(outfile, "w", SWIG_output_files());
if (!out) {
FileErrorDisplay(outfile);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
}
Printf(out, "<?xml version=\"1.0\" ?> \n");
@ -310,7 +310,7 @@ void Swig_print_xml(DOH *obj, String *filename) {
out = NewFile(filename, "w", SWIG_output_files());
if (!out) {
FileErrorDisplay(filename);
SWIG_exit(EXIT_FAILURE);
Exit(EXIT_FAILURE);
}
}