eolian: silence clobbered variable warning.
authorCedric BAIL <cedric@osg.samsung.com>
Thu, 15 Dec 2016 18:44:22 +0000 (10:44 -0800)
committerCedric BAIL <cedric@osg.samsung.com>
Thu, 15 Dec 2016 18:44:22 +0000 (10:44 -0800)
src/lib/eolian/eo_lexer.c

index 49b23a7cfe759b7c55b4bcb92b9a74063cd9d084..2bb72d2d5889666cebd4d5beff91f278bf886b1f 100644 (file)
@@ -1109,13 +1109,14 @@ eo_lexer_free(Eo_Lexer *ls)
 Eo_Lexer *
 eo_lexer_new(const char *source)
 {
-   Eo_Lexer   *ls = calloc(1, sizeof(Eo_Lexer));
-   if (!setjmp(ls->err_jmp))
+   volatile Eo_Lexer *ls = calloc(1, sizeof(Eo_Lexer));
+
+   if (!setjmp(((Eo_Lexer *)(ls))->err_jmp))
      {
-        eo_lexer_set_input(ls, source);
-        return ls;
+        eo_lexer_set_input((Eo_Lexer *) ls, source);
+        return (Eo_Lexer *) ls;
      }
-   eo_lexer_free(ls);
+   eo_lexer_free((Eo_Lexer *) ls);
    return NULL;
 }