From 80950578e3b77c7f69fd983dbb5b96184e479d13 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Tue, 3 Feb 2009 09:03:25 -0500 Subject: [PATCH] Fixed stupid linked list bug. --- mojoshader.c | 15 ++++++++------- mojoshader_assembler.c | 15 ++++++++------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/mojoshader.c b/mojoshader.c index 47c94bab..d7f0088a 100644 --- a/mojoshader.c +++ b/mojoshader.c @@ -396,19 +396,20 @@ static void failf(Context *ctx, const char *fmt, ...) error->error.error = failstr; error->error.filename = NULL; // no filename at this level. error->error.error_position = error_position; + error->next = NULL; ErrorList *prev = NULL; - error->next = ctx->errors; - while (error->next != NULL) + ErrorList *item = ctx->errors; + while (item != NULL) { - prev = error->next; - error->next = error->next->next; + prev = item; + item = error->next; } // while - if (prev != NULL) - prev->next = error; - else + if (prev == NULL) ctx->errors = error; + else + prev->next = error; ctx->error_count++; } // else diff --git a/mojoshader_assembler.c b/mojoshader_assembler.c index c619ce8f..9d992a1a 100644 --- a/mojoshader_assembler.c +++ b/mojoshader_assembler.c @@ -145,19 +145,20 @@ static void failf(Context *ctx, const char *fmt, ...) error->error.error = failstr; error->error.filename = fname ? StrDup(ctx, fname) : NULL; error->error.error_position = error_position; + error->next = NULL; ErrorList *prev = NULL; - error->next = ctx->errors; - while (error->next != NULL) + ErrorList *item = ctx->errors; + while (item != NULL) { - prev = error->next; - error->next = error->next->next; + prev = item; + item = error->next; } // while - if (prev != NULL) - prev->next = error; - else + if (prev == NULL) ctx->errors = error; + else + prev->next = error; ctx->error_count++; } // else