Nasal: do not print invalid elements for error backtraces.

This commit is contained in:
Thomas Geymayer
2013-10-16 23:33:06 +02:00
parent a37a254a68
commit b217019723
+4 -3
View File
@@ -941,12 +941,13 @@ naRef naContinue(naContext ctx)
static void logError(naContext ctx) static void logError(naContext ctx)
{ {
int i; int i, stack_depth = naStackDepth(ctx);
printf("logError\n");
printf("Nasal runtime error: %s\n", naGetError(ctx)); printf("Nasal runtime error: %s\n", naGetError(ctx));
if( stack_depth < 1 )
return;
printf(" at %s\n", naStr_data(naGetSourceFile(ctx, 0))); printf(" at %s\n", naStr_data(naGetSourceFile(ctx, 0)));
printf(", line %d\n", naGetLine(ctx, 0)); printf(", line %d\n", naGetLine(ctx, 0));
for(i = 1; i < naStackDepth(ctx); ++i ) for(i = 1; i < stack_depth; ++i )
printf( " called from: %s, line %d", printf( " called from: %s, line %d",
naStr_data(naGetSourceFile(ctx, i)), naStr_data(naGetSourceFile(ctx, i)),
naGetLine(ctx, i)); naGetLine(ctx, i));