diff --git a/sys/src/cmd/mothra/rdhtml.c b/sys/src/cmd/mothra/rdhtml.c
index 4a6456fc3..7c02182e0 100644
--- a/sys/src/cmd/mothra/rdhtml.c
+++ b/sys/src/cmd/mothra/rdhtml.c
@@ -35,6 +35,16 @@ struct Fontdata{
"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 @@ int entchar(int c){
/* 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;