Browse Source

Also check for the lowecase URL of the hashtags.

default 2 months ago
parent
commit
b51085831e
3 changed files with 9 additions and 3 deletions
  1. 2 1
      Makefile
  2. 2 1
      Makefile.NetBSD
  3. 5 1
      html.c

+ 2 - 1
Makefile

@@ -42,7 +42,8 @@ data.o: data.c xs.h xs_hex.h xs_io.h xs_json.h xs_openssl.h xs_glob.h \
 format.o: format.c xs.h xs_regex.h xs_mime.h xs_html.h xs_json.h \
  xs_time.h xs_match.h snac.h http_codes.h
 html.o: html.c xs.h xs_io.h xs_json.h xs_regex.h xs_set.h xs_openssl.h \
- xs_time.h xs_mime.h xs_match.h xs_html.h xs_curl.h snac.h http_codes.h
+ xs_time.h xs_mime.h xs_match.h xs_html.h xs_curl.h xs_unicode.h snac.h \
+ http_codes.h
 http.o: http.c xs.h xs_io.h xs_openssl.h xs_curl.h xs_time.h xs_json.h \
  snac.h http_codes.h
 httpd.o: httpd.c xs.h xs_io.h xs_json.h xs_socket.h xs_unix_socket.h \

+ 2 - 1
Makefile.NetBSD

@@ -44,7 +44,8 @@ data.o: data.c xs.h xs_hex.h xs_io.h xs_json.h xs_openssl.h xs_glob.h \
 format.o: format.c xs.h xs_regex.h xs_mime.h xs_html.h xs_json.h \
  xs_time.h xs_match.h snac.h http_codes.h
 html.o: html.c xs.h xs_io.h xs_json.h xs_regex.h xs_set.h xs_openssl.h \
- xs_time.h xs_mime.h xs_match.h xs_html.h xs_curl.h snac.h http_codes.h
+ xs_time.h xs_mime.h xs_match.h xs_html.h xs_curl.h xs_unicode.h snac.h \
+ http_codes.h
 http.o: http.c xs.h xs_io.h xs_openssl.h xs_curl.h xs_time.h xs_json.h \
  snac.h http_codes.h
 httpd.o: httpd.c xs.h xs_io.h xs_json.h xs_socket.h xs_unix_socket.h \

+ 5 - 1
html.c

@@ -12,6 +12,7 @@
 #include "xs_match.h"
 #include "xs_html.h"
 #include "xs_curl.h"
+#include "xs_unicode.h"
 
 #include "snac.h"
 
@@ -2203,8 +2204,11 @@ xs_html *html_entry(snac *user, xs_dict *msg, int read_only,
 
             if (xs_type(type) == XSTYPE_STRING && strcmp(type, "Hashtag") == 0) {
                 const char *href = xs_dict_get(tag, "href");
+                xs *lc_href = xs_utf8_to_lower(href);
 
-                if (xs_type(href) == XSTYPE_STRING && xs_str_in(content, href) == -1) {
+                if (xs_type(href) == XSTYPE_STRING &&
+                    xs_str_in(content, href) == -1 &&
+                    xs_str_in(content, lc_href) == -1) {
                     /* not in the content: add here */
                     const char *name = xs_dict_get(tag, "name");