Răsfoiți Sursa

prevent longjmp warning

ncannasse 7 ani în urmă
părinte
comite
4a49528075
1 a modificat fișierele cu 2 adăugiri și 1 ștergeri
  1. 2 1
      src/std/error.c

+ 2 - 1
src/std/error.c

@@ -60,7 +60,7 @@ HL_PRIM uchar *hl_resolve_symbol( void *addr, uchar *out, int *outSize ) {
 	return resolve_symbol_func(addr, out, outSize);
 }
 
-static void (*throw_jump)( jmp_buf, int ) = longjmp;
+static void (*throw_jump)( jmp_buf, int ) = NULL;
 
 HL_PRIM void hl_setup_longjump( void *j ) {
 	throw_jump = j;
@@ -93,6 +93,7 @@ HL_PRIM void hl_throw( vdynamic *v ) {
 		hl_debug_break();
 		if( hl_error_handler ) hl_dyn_call(hl_error_handler,&v,1);
 	}
+	if( throw_jump == NULL ) throw_jump = longjmp;
 	throw_jump(t->buf,1);
 }