]> git.wincent.com - wikitext.git/commitdiff
Collapse conditional inside _Wikitext_parser_sanitize_link_target
authorWincent Colaiuta <win@wincent.com>
Mon, 11 May 2009 16:33:35 +0000 (18:33 +0200)
committerWincent Colaiuta <win@wincent.com>
Mon, 11 May 2009 16:33:35 +0000 (18:33 +0200)
Combine two separate "else if" conditions into a single one.

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

index a2f60ec25739e5d6dc8e7519c574a4474e16e972..6f4dd22bc6e7e3fd3aa8c71c54b5f2fa3b40c2b9 100644 (file)
@@ -747,31 +747,26 @@ VALUE _Wikitext_parser_sanitize_link_target(parser_t *parser, bool rollback)
             non_space   = dest_ptr + (non_space - old_dest_ptr);
         }
 
-        if (*src == '"')                 // QUOT
+        if (*src == '"')
         {
             char quot_entity_literal[] = { '&', 'q', 'u', 'o', 't', ';' };  // no trailing NUL
             memcpy(dest, quot_entity_literal, sizeof(quot_entity_literal));
             dest += sizeof(quot_entity_literal);
         }
-        else if (*src == '&')            // AMP
+        else if (*src == '&')
         {
             char amp_entity_literal[] = { '&', 'a', 'm', 'p', ';' };    // no trailing NUL
             memcpy(dest, amp_entity_literal, sizeof(amp_entity_literal));
             dest += sizeof(amp_entity_literal);
         }
-        else if (*src == '<')           // LESS_THAN
+        else if (*src == '<' || *src == '>')
         {
             free(dest_ptr);
-            rb_raise(rb_eRangeError, "invalid link text (\"<\" may not appear in link text)");
-        }
-        else if (*src == '>')           // GREATER_THAN
-        {
-            free(dest_ptr);
-            rb_raise(rb_eRangeError, "invalid link text (\">\" may not appear in link text)");
+            rb_raise(rb_eRangeError, "invalid link text (\"%c\" may not appear in link text)", *src);
         }
         else if (*src == ' ' && src == start && !rollback)
-            start++;                // we eat leading space
-        else if (*src >= 0x20 && *src <= 0x7e)    // printable ASCII
+            start++;                            // we eat leading space
+        else if (*src >= 0x20 && *src <= 0x7e)  // printable ASCII
         {
             *dest = *src;
             dest++;