ref: 67c15c1e4794103dc3eeb8d76ed0b5e39b321780
parent: 8781283fbdffc5f362c64791d5c0f0f641010b34
author: Sigrid <ftrvxmtrx@gmail.com>
date: Tue Jan 19 10:04:40 EST 2021
mothra: linkify text starting with gemini:// and ftp://
--- a/sys/src/cmd/mothra/rdhtml.c
+++ b/sys/src/cmd/mothra/rdhtml.c
@@ -35,6 +35,16 @@
"lucidasans/typeunicode.16", 0, 0,
};
+static struct{
+ char *prefix;
+ int len;
+}links[]={
+ {"http://", 7},
+ {"https://", 8},
+ {"gemini://", 9},
+ {"ftp://", 6},
+};
+
Font *pl_whichfont(int f, int s, int *space){
char name[NNAME];
@@ -296,12 +306,12 @@
/* return url if text token looks like a hyperlink */
char *linkify(char *s){
+ int i;
if(s == 0 && s[0] == 0)
return 0;
- if(!cistrncmp(s, "http://", 7))
- return strdup(s);
- if(!cistrncmp(s, "https://", 8))
- return strdup(s);
+ for(i = 0; i < nelem(links); i++)
+ if(!cistrncmp(s, links[i].prefix, links[i].len))
+ return strdup(s);
if(!cistrncmp(s, "www.", 4)){
int d, i;