[13/18] wpp: Add wpp_set_exit_on_error function

Juan Lang juan.lang at gmail.com
Mon Aug 17 14:37:38 CDT 2009

Hi Matteo,

this approach seems pretty inflexible to me:

+/* Whether to exit the app on errors (default: true) */
+extern void wpp_set_exit_on_error( int exit );

@@ -646,7 +654,8 @@ int ppy_error(const char *s, ...)
 	va_start(ap, s);
 	generic_msg(s, "Error", ppy_text, ap);
-	exit(1);
+	if(pp_status.exit_on_error) exit(1);
+	else pp_status.state = 1;
 	return 1;

It seems as though you might instead have a global error function that
should be called, which defaults to exit().  In fact, that's what
ppy_error seems to be.  So I think you'd want to make ppy_error into a
function pointer, and make the current definition its default value,
or something like that.  I can't imagine that retaining the output to
stderr is all that useful in the context of the D3D9 shader assembler.

You could further split this patch:  this is half of it, setting and
dealing with the exit_on_error flag.  The other half deals with the
current assumption that ppy_error never returns.  You can make
removing that assumption one patch, and this--changing the error
function to something else--a subsequent patch.

More information about the wine-devel mailing list