summaryrefslogtreecommitdiff
path: root/src/autolink.c
diff options
context:
space:
mode:
authorBrian Anderson <andersrb@gmail.com>2015-09-21 12:41:18 -0700
committerBrian Anderson <andersrb@gmail.com>2015-09-21 12:41:18 -0700
commit49c64b3cb5999cad0118fa5cb0cc60f5fcc70493 (patch)
treedd136dcea4700b26582bcd950ccacf1f19c2dd86 /src/autolink.c
parent794d91b37020242446c53713c7ce0c09b33b5f0c (diff)
parentca4609d56a77378ef9cf6dd3caff3aec006ecce9 (diff)
downloadrust-hoedown-master.tar.gz
Merge pull request #4 from hoedown/masterHEADmaster
Upgrade hoedown to 3.0.5.
Diffstat (limited to 'src/autolink.c')
-rw-r--r--src/autolink.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/autolink.c b/src/autolink.c
index f2245cb..e7019fd 100644
--- a/src/autolink.c
+++ b/src/autolink.c
@@ -5,26 +5,28 @@
#include <stdio.h>
#include <ctype.h>
-#ifdef _MSC_VER
+#ifndef _MSC_VER
+#include <strings.h>
+#else
#define strncasecmp _strnicmp
#endif
int
-hoedown_autolink_is_safe(const uint8_t *link, size_t link_len)
+hoedown_autolink_is_safe(const uint8_t *data, size_t size)
{
static const size_t valid_uris_count = 6;
static const char *valid_uris[] = {
- "#", "/", "http://", "https://", "ftp://", "mailto:"
+ "http://", "https://", "/", "#", "ftp://", "mailto:"
};
-
+ static const size_t valid_uris_size[] = { 7, 8, 1, 1, 6, 7 };
size_t i;
for (i = 0; i < valid_uris_count; ++i) {
- size_t len = strlen(valid_uris[i]);
+ size_t len = valid_uris_size[i];
- if (link_len > len &&
- strncasecmp((char *)link, valid_uris[i], len) == 0 &&
- isalnum(link[len]))
+ if (size > len &&
+ strncasecmp((char *)data, valid_uris[i], len) == 0 &&
+ isalnum(data[len]))
return 1;
}