]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Don't warn about []int of string with NUL bytes.
authorIan Lance Taylor <ian@gcc.gnu.org>
Tue, 21 Dec 2010 23:48:37 +0000 (23:48 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Tue, 21 Dec 2010 23:48:37 +0000 (23:48 +0000)
From-SVN: r168146

gcc/go/gofrontend/lex.cc

index 67d4b1b4670d1fc9f948437f91786ac04e4b7b70..7fabd3dfd1cd7bf9b3bd75a1916054e77342ef56 100644 (file)
@@ -742,12 +742,7 @@ int
 Lex::fetch_char(const char* p, unsigned int* value)
 {
   unsigned char c = *p;
-  if (c == 0)
-    {    
-      *value = 0xfffd;
-      return 0;
-    }
-  else if (c <= 0x7f)
+  if (c <= 0x7f)
     {
       *value = c;
       return 1;
@@ -812,13 +807,19 @@ Lex::advance_one_utf8_char(const char* p, unsigned int* value,
                           bool* issued_error)
 {
   *issued_error = false;
+
+  if (*p == '\0')
+    {
+      error_at(this->location(), "invalid NUL byte");
+      *issued_error = true;
+      *value = 0;
+      return p + 1;
+    }
+
   int adv = Lex::fetch_char(p, value);
   if (adv == 0)
     {
-      if (*p == '\0')
-       error_at(this->location(), "invalid NUL byte");
-      else
-       error_at(this->location(), "invalid UTF-8 encoding");
+      error_at(this->location(), "invalid UTF-8 encoding");
       *issued_error = true;
       return p + 1;
     }