summaryrefslogtreecommitdiff
path: root/src/gmutil.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gmutil.c')
-rw-r--r--src/gmutil.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gmutil.c b/src/gmutil.c
index 32bf356f..b4cf86aa 100644
--- a/src/gmutil.c
+++ b/src/gmutil.c
@@ -149,6 +149,21 @@ iRangecc urlHost_String(const iString *d) {
149 return url.host; 149 return url.host;
150} 150}
151 151
152iRangecc urlUser_String(const iString *d) {
153 iRegExp *userPats[2] = { new_RegExp("~([^/?]+)", 0),
154 new_RegExp("/users/([^/?]+)", caseInsensitive_RegExpOption) };
155 iRegExpMatch m;
156 init_RegExpMatch(&m);
157 iRangecc found = iNullRange;
158 iForIndices(i, userPats) {
159 if (matchString_RegExp(userPats[i], d, &m)) {
160 found = capturedRange_RegExpMatch(&m, 1);
161 }
162 iRelease(userPats[i]);
163 }
164 return found;
165}
166
152static iBool isAbsolutePath_(iRangecc path) { 167static iBool isAbsolutePath_(iRangecc path) {
153 return isAbsolute_Path(collect_String(urlDecode_String(collect_String(newRange_String(path))))); 168 return isAbsolute_Path(collect_String(urlDecode_String(collect_String(newRange_String(path)))));
154} 169}