]> git.wincent.com - wikitext.git/commitdiff
Silence a Clang warning about use of an uninitialized variable
authorWincent Colaiuta <win@wincent.com>
Sat, 16 Feb 2013 19:51:23 +0000 (11:51 -0800)
committerWincent Colaiuta <win@wincent.com>
Sat, 16 Feb 2013 19:53:27 +0000 (11:53 -0800)
  parser.c:350:14: warning: variable 'dest' is used uninitialized whenever 'if' condition is false
      else if ((src[0] & 0xf8) == 0xf0)
              ^~~~~~~~~~~~~~~~~~~~~~~
  parser.c:375:12: note: uninitialized use occurs here
      return dest;
            ^~~~
  parser.c:350:10: note: remove the 'if' if its condition is always true
      else if ((src[0] & 0xf8) == 0xf0)
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  parser.c:307:18: note: initialize the variable 'dest' to silence this warning
      uint32_t dest;
                  ^
                    = 0

In this case the warning is spurious (the `else` branch raises an
exception, so it is not possible for `dest` to be used unuinitialized).
But Clang doesn't know that, so keep it happy by initializing the
variable every time.

Signed-off-by: Wincent Colaiuta <win@wincent.com>
ext/parser.c

index 00b8e324633b30dd324a0ee57d8ec76b22f6cb85..ed0488ae63500cf947c58abeead27e41bab9d411 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2007-2012 Wincent Colaiuta. All rights reserved.
+// Copyright 2007-2013 Wincent Colaiuta. All rights reserved.
 //
 // Redistribution and use in source and binary forms, with or without
 // modification, are permitted provided that the following conditions are met:
@@ -304,7 +304,7 @@ void wiki_append_entity_from_utf32_char(str_t *output, uint32_t character)
 // Raises a RangeError if the supplied character is invalid UTF-8.
 uint32_t wiki_utf8_to_utf32(char *src, char *end, long *width_out)
 {
-    uint32_t dest;
+    uint32_t dest = 0;
     if ((unsigned char)src[0] <= 0x7f)
     {
         // ASCII