From 5bbf947aad0db5fb5fe6806751ab27c76e883527 Mon Sep 17 00:00:00 2001 From: Jaakko Keränen Date: Tue, 25 Aug 2020 13:50:30 +0300 Subject: It's called a "scheme" --- src/app.c | 4 ++-- src/gmdocument.c | 10 +++++----- src/gmrequest.c | 10 +++++----- src/gmutil.c | 34 +++++++++++++++++----------------- src/gmutil.h | 4 ++-- src/ui/documentwidget.c | 9 ++++----- src/ui/sidebarwidget.c | 4 ++-- 7 files changed, 37 insertions(+), 38 deletions(-) (limited to 'src') diff --git a/src/app.c b/src/app.c index d415a488..76298ec5 100644 --- a/src/app.c +++ b/src/app.c @@ -612,8 +612,8 @@ iBool handleCommand_App(const char *cmd) { const iString *url = collect_String(newCStr_String(suffixPtr_Command(cmd, "url"))); iUrl parts; init_Url(&parts, url); - if (equalCase_Rangecc(parts.protocol, "http") || - equalCase_Rangecc(parts.protocol, "https")) { + if (equalCase_Rangecc(parts.scheme, "http") || + equalCase_Rangecc(parts.scheme, "https")) { openInDefaultBrowser_App(url); return iTrue; } diff --git a/src/gmdocument.c b/src/gmdocument.c index 4173a10c..368aed37 100644 --- a/src/gmdocument.c +++ b/src/gmdocument.c @@ -208,19 +208,19 @@ static iRangecc addLink_GmDocument_(iGmDocument *d, iRangecc line, iGmLinkId *li if (!equalCase_Rangecc(parts.host, cstr_String(&d->localHost))) { link->flags |= remote_GmLinkFlag; } - if (startsWithCase_Rangecc(parts.protocol, "gemini")) { + if (startsWithCase_Rangecc(parts.scheme, "gemini")) { link->flags |= gemini_GmLinkFlag; } - else if (startsWithCase_Rangecc(parts.protocol, "http")) { + else if (startsWithCase_Rangecc(parts.scheme, "http")) { link->flags |= http_GmLinkFlag; } - else if (equalCase_Rangecc(parts.protocol, "gopher")) { + else if (equalCase_Rangecc(parts.scheme, "gopher")) { link->flags |= gopher_GmLinkFlag; } - else if (equalCase_Rangecc(parts.protocol, "file")) { + else if (equalCase_Rangecc(parts.scheme, "file")) { link->flags |= file_GmLinkFlag; } - else if (equalCase_Rangecc(parts.protocol, "data")) { + else if (equalCase_Rangecc(parts.scheme, "data")) { link->flags |= data_GmLinkFlag; } /* Check the file name extension, if present. */ diff --git a/src/gmrequest.c b/src/gmrequest.c index ebb66a84..c2c94888 100644 --- a/src/gmrequest.c +++ b/src/gmrequest.c @@ -401,9 +401,9 @@ void submit_GmRequest(iGmRequest *d) { clear_GmResponse(&d->resp); iUrl url; init_Url(&url, &d->url); - /* Check for special protocols. */ + /* Check for special schemes. */ /* TODO: If this were a library, these could be handled via callbacks. */ - if (equalCase_Rangecc(url.protocol, "about")) { + if (equalCase_Rangecc(url.scheme, "about")) { const iBlock *src = aboutPageSource_(url.path); if (src) { d->resp.statusCode = success_GmStatusCode; @@ -419,7 +419,7 @@ void submit_GmRequest(iGmRequest *d) { iNotifyAudience(d, finished, GmRequestFinished); return; } - else if (equalCase_Rangecc(url.protocol, "file")) { + else if (equalCase_Rangecc(url.scheme, "file")) { iString *path = collect_String(urlDecode_String(collect_String(newRange_String(url.path)))); iFile * f = new_File(path); if (open_File(f, readOnly_FileMode)) { @@ -457,9 +457,9 @@ void submit_GmRequest(iGmRequest *d) { iNotifyAudience(d, finished, GmRequestFinished); return; } - else if (equalCase_Rangecc(url.protocol, "data")) { + else if (equalCase_Rangecc(url.scheme, "data")) { d->resp.statusCode = success_GmStatusCode; - iString *src = collectNewCStr_String(url.protocol.start + 5); + iString *src = collectNewCStr_String(url.scheme.start + 5); iRangecc header = { constBegin_String(src), constBegin_String(src) }; while (header.end < constEnd_String(src) && *header.end != ',') { header.end++; diff --git a/src/gmutil.c b/src/gmutil.c index 3af42cd1..ed3e7218 100644 --- a/src/gmutil.c +++ b/src/gmutil.c @@ -36,8 +36,8 @@ void init_Url(iUrl *d, const iString *text) { iRegExpMatch m; init_RegExpMatch(&m); if (matchString_RegExp(absoluteUrlPattern_, text, &m)) { - d->protocol = capturedRange_RegExpMatch(&m, 1); - d->host = capturedRange_RegExpMatch(&m, 2); + d->scheme = capturedRange_RegExpMatch(&m, 1); + d->host = capturedRange_RegExpMatch(&m, 2); if (!isEmpty_Range(&d->host)) { d->host.start += 2; /* skip the double slash */ } @@ -55,13 +55,13 @@ void init_Url(iUrl *d, const iString *text) { relativeUrlPattern_ = new_RegExp("([a-z]+:)?([^?]*)(\\?.*)?", 0); } if (matchString_RegExp(relativeUrlPattern_, text, &m)) { - d->protocol = capturedRange_RegExpMatch(&m, 1); - d->path = capturedRange_RegExpMatch(&m, 2); - d->query = capturedRange_RegExpMatch(&m, 3); + d->scheme = capturedRange_RegExpMatch(&m, 1); + d->path = capturedRange_RegExpMatch(&m, 2); + d->query = capturedRange_RegExpMatch(&m, 3); } } - if (!isEmpty_Range(&d->protocol)) { - d->protocol.end--; /* omit the colon */ + if (!isEmpty_Range(&d->scheme)) { + d->scheme.end--; /* omit the colon */ } } @@ -115,10 +115,10 @@ void cleanUrlPath_String(iString *d) { deinit_String(&clean); } -iRangecc urlProtocol_String(const iString *d) { +iRangecc urlScheme_String(const iString *d) { iUrl url; init_Url(&url, d); - return url.protocol; + return url.scheme; } iRangecc urlHost_String(const iString *d) { @@ -132,20 +132,20 @@ const iString *absoluteUrl_String(const iString *d, const iString *urlMaybeRelat iUrl rel; init_Url(&orig, d); init_Url(&rel, urlMaybeRelative); - if (equalCase_Rangecc(rel.protocol, "data") || equalCase_Rangecc(rel.protocol, "about")) { + if (equalCase_Rangecc(rel.scheme, "data") || equalCase_Rangecc(rel.scheme, "about")) { /* Special case, the contents should be left unparsed. */ return urlMaybeRelative; } const iBool isRelative = !isDef_(rel.host); - iRangecc protocol = range_CStr("gemini"); - if (isDef_(rel.protocol)) { - protocol = rel.protocol; + iRangecc scheme = range_CStr("gemini"); + if (isDef_(rel.scheme)) { + scheme = rel.scheme; } - else if (isRelative && isDef_(orig.protocol)) { - protocol = orig.protocol; + else if (isRelative && isDef_(orig.scheme)) { + scheme = orig.scheme; } iString *absolute = collectNew_String(); - appendRange_String(absolute, protocol); + appendRange_String(absolute, scheme); appendCStr_String(absolute, "://"); { const iUrl *selHost = isDef_(rel.host) ? &rel : &orig; appendRange_String(absolute, selHost->host); @@ -154,7 +154,7 @@ const iString *absoluteUrl_String(const iString *d, const iString *urlMaybeRelat appendRange_String(absolute, selHost->port); } } - if (isDef_(rel.protocol) || isDef_(rel.host) || startsWith_Rangecc(rel.path, "/")) { + if (isDef_(rel.scheme) || isDef_(rel.host) || startsWith_Rangecc(rel.path, "/")) { appendRange_String(absolute, rel.path); /* absolute path */ } else { diff --git a/src/gmutil.h b/src/gmutil.h index 999fb7cf..72ca5fed 100644 --- a/src/gmutil.h +++ b/src/gmutil.h @@ -83,7 +83,7 @@ iBool isDefined_GmError (enum iGmStatusCode code); const iGmError * get_GmError (enum iGmStatusCode code); struct Impl_Url { - iRangecc protocol; + iRangecc scheme; iRangecc host; iRangecc port; iRangecc path; @@ -92,7 +92,7 @@ struct Impl_Url { void init_Url (iUrl *, const iString *text); -iRangecc urlProtocol_String (const iString *); +iRangecc urlScheme_String (const iString *); iRangecc urlHost_String (const iString *); const iString * absoluteUrl_String (const iString *, const iString *urlMaybeRelative); iString * makeFileUrl_String (const iString *localFilePath); diff --git a/src/ui/documentwidget.c b/src/ui/documentwidget.c index 8885bb9b..ed6c2518 100644 --- a/src/ui/documentwidget.c +++ b/src/ui/documentwidget.c @@ -788,7 +788,7 @@ static void checkResponse_DocumentWidget_(iDocumentWidget *d) { showErrorPage_DocumentWidget_(d, invalidRedirect_GmStatusCode); } else { - /* TODO: only accept redirects that use gemini protocol */ + /* TODO: only accept redirects that use gemini scheme */ postCommandf_App( "open redirect:1 url:%s", cstr_String(absoluteUrl_String(d->mod.url, meta_GmRequest(d->request)))); @@ -1079,8 +1079,7 @@ static iBool handleCommand_DocumentWidget_(iDocumentWidget *d, const char *cmd) d->scrollY = d->initNormScrollY * size_GmDocument(d->doc).y; d->state = ready_RequestState; /* The response may be cached. */ { - const iRangecc proto = urlProtocol_String(d->mod.url); - if (!equal_Rangecc(proto, "about")) { + if (!equal_Rangecc(urlScheme_String(d->mod.url), "about")) { setCachedResponse_History(d->mod.history, response_GmRequest(d->request)); } } @@ -1604,9 +1603,9 @@ static void drawRun_DrawContext_(void *context, const iGmRun *run) { &str, " \u2014%s%s%s\r%c%s", showHost ? " " : "", - showHost ? (!equalCase_Rangecc(parts.protocol, "gemini") + showHost ? (!equalCase_Rangecc(parts.scheme, "gemini") ? format_CStr("%s://%s", - cstr_Rangecc(parts.protocol), + cstr_Rangecc(parts.scheme), cstr_Rangecc(parts.host)) : cstr_Rangecc(parts.host)) : "", diff --git a/src/ui/sidebarwidget.c b/src/ui/sidebarwidget.c index e3d7d4a6..8b0792c8 100644 --- a/src/ui/sidebarwidget.c +++ b/src/ui/sidebarwidget.c @@ -771,14 +771,14 @@ static void draw_SidebarWidget_(const iSidebarWidget *d) { else { iUrl parts; init_Url(&parts, &item->url); - const iBool isGemini = equalCase_Rangecc(parts.protocol, "gemini"); + const iBool isGemini = equalCase_Rangecc(parts.scheme, "gemini"); draw_Text( font, add_I2(topLeft_Rect(itemRect), init_I2(3 * gap_UI, (d->itemHeight - lineHeight_Text(font)) / 2)), fg, "%s%s%s%s%s%s", - isGemini ? "" : cstr_Rangecc(parts.protocol), + isGemini ? "" : cstr_Rangecc(parts.scheme), isGemini ? "" : "://", escape_Color(isHover ? (isPressing ? uiTextPressed_ColorId : uiTextFramelessHover_ColorId) -- cgit v1.2.3