Lagrange [release]
Feeds: Strip default Gemini ports from URLs
[1mdiff --git a/src/feeds.c b/src/feeds.c[m
[1mindex 0f06e33d..75173ee1 100644[m
[1m--- a/src/feeds.c[m
[1m+++ b/src/feeds.c[m
[36m@@ -509,6 +509,7 @@[m [mstatic void load_Feeds_(iFeeds *d) {[m
entry->posted.ts.tv_sec = posted;[m
entry->discovered.ts.tv_sec = discovered;[m
set_String(&entry->url, url);[m
[32m+[m[32m stripDefaultUrlPort_String(&entry->url);[m
set_String(&entry->title, title);[m
insert_SortedArray(&d->entries, &entry);[m
}[m
[1mdiff --git a/src/gmutil.c b/src/gmutil.c[m
[1mindex a299347f..ab9a8eea 100644[m
[1m--- a/src/gmutil.c[m
[1m+++ b/src/gmutil.c[m
[36m@@ -81,6 +81,16 @@[m [mstatic iRangecc prevPathSeg_(const char *end, const char *start) {[m
return seg;[m
}[m
[m
[32m+[m[32mvoid stripDefaultUrlPort_String(iString *d) {[m
[32m+[m[32m iUrl parts;[m
[32m+[m[32m init_Url(&parts, d);[m
[32m+[m[32m if (equalCase_Rangecc(parts.scheme, "gemini") && equal_Rangecc(parts.port, "1965")) {[m
[32m+[m[32m /* Always preceded by a colon. */[m
[32m+[m[32m remove_Block(&d->chars, parts.port.start - 1 - constBegin_String(d),[m
[32m+[m[32m size_Range(&parts.port) + 1);[m
[32m+[m[32m }[m
[32m+[m[32m}[m
[32m+[m
void cleanUrlPath_String(iString *d) {[m
iString clean;[m
init_String(&clean);[m
[1mdiff --git a/src/gmutil.h b/src/gmutil.h[m
[1mindex a9c8c42a..947ff56b 100644[m
[1m--- a/src/gmutil.h[m
[1m+++ b/src/gmutil.h[m
[36m@@ -104,6 +104,7 @@[m [miRangecc urlScheme_String (const iString *);[m
iRangecc urlHost_String (const iString *);[m
const iString * absoluteUrl_String (const iString *, const iString *urlMaybeRelative);[m
void punyEncodeUrlHost_String(iString *);[m
[32m+[m[32mvoid stripDefaultUrlPort_String(iString *);[m
void urlDecodePath_String (iString *);[m
void urlEncodePath_String (iString *);[m
iString * makeFileUrl_String (const iString *localFilePath);[m