commit - 64f4f8e21263a2ffeede63a19bbb28c897a90f2a
commit + d89eb764fd5d3a5ec0b5b30d85ecdc14789bb7cf
blob - c3baff44a4c404124d4d25748d65c575b4a21d8b
blob + 2854b26f492bf692171735a33230c519c4799aba
--- cmd.c
+++ cmd.c
return;
}
- if (has_prefix(current_tab->last_input_url, "gopher")) {
+ if (!strncmp(current_tab->last_input_url, "gopher", 6)) {
load_url_in_tab(current_tab, current_tab->last_input_url,
NULL, LU_MODE_NOCACHE);
return;
blob - c92210c6ba1c0171e095eba5326d70dd29bae3ea
blob + 265e99c9be98d8ab5c32305858ed250d2da5c935
--- defaults.c
+++ defaults.c
struct lineprefix *p;
struct mapping *m;
- if (!has_prefix(name, "line."))
+ if (strncmp(name, "line.", 5) != 0)
return 0;
name += 5;
if (!strcmp(var, "download-path")) {
const char *prfx = "", *v = val, *sufx = "";
- if (has_prefix(val, "~/") &&
+ if (!strncmp(val, "~/", 2) &&
v++ &&
(prfx = getenv("HOME")) == NULL)
return 0;
tab_face.bg_bg = prfx;
else
tab_face.bg_fg = prfx;
- } else if (has_prefix(name, "tabline.")) {
+ } else if (!strncmp(name, "tabline.", 8)) {
name += 8;
if (!strcmp(name, "tab")) {
tab_face.c_fg = prfx;
} else
return 0;
- } else if (has_prefix(name, "line.")) {
+ } else if (!strncmp(name, "line.", 5)) {
name += 5;
if ((m = mapping_by_name(name)) == NULL)
if (!strcmp(name, "tabline")) {
tab_face.bg_attr = prfx;
- } else if (has_prefix(name, "tabline.")) {
+ } else if (!strncmp(name, "tabline.", 8)) {
name += 8;
if (!strcmp(name, "tab"))
tab_face.c_attr = prfx;
else
return 0;
- } else if (has_prefix(name, "line.")) {
+ } else if (!strncmp(name, "line.", 5)) {
name += 5;
if ((m = mapping_by_name(name)) == NULL)
blob - aafe8fdaed97c8546a49baf8fa16dd979210898b
blob + faa6df63aa90f545848a3d44d2f14cdba3239fd0
--- include/utils.h
+++ include/utils.h
int mark_nonblock(int);
-int has_prefix(const char*, const char*);
int has_suffix(const char *, const char *);
int unicode_isspace(uint32_t);
int unicode_isgraph(uint32_t);
blob - c3beaf16b738c904b0872361f70b4140ab054495
blob + f3cab4e9dd129b080c8c84aded1db02480502835
--- keymap.c
+++ keymap.c
struct keytable *t;
for (t = keytable; t->p != NULL; ++t) {
- if (has_prefix(key, t->p))
+ if (!strncmp(key, t->p, strlen(t->p)))
return t->k;
}
struct keymap *entry;
again:
- if ((ctrl = has_prefix(key, "C-")))
+ if ((ctrl = !strncmp(key, "C-", 2)))
key += 2;
- if ((meta = has_prefix(key, "M-")))
+ if ((meta = !strncmp(key, "M-", 2)))
key += 2;
if (*key == '\0')
return 0;
blob - 9774cd2d627ecdd5300f75a8b1add9ca0d456326
blob + 98f614c6fa5c2ffd1edf1aff9c30a7e17816b9cc
--- mime.c
+++ mime.c
b++;
if (*b == '\0')
break;
- if (!has_prefix(b, "charset=")) {
+ if (strncmp(b, "charset=", 8) != 0) {
while (*b != '\0' && *b != ';')
b++;
if (*b == '\0')
/* is charset= */
b += strlen("charset=");
/* TODO: improve the matching */
- return has_prefix(b, "ASCII") || has_prefix(b, "ascii") ||
- has_prefix(b, "UTF-8") || has_prefix(b, "utf-8");
+ return !strncmp(b, "ASCII", 5) || !strncmp(b, "ascii", 5) ||
+ !strncmp(b, "UTF-8", 5) || !strncmp(b, "utf-8", 5);
}
return 1;
blob - 6da37c69ccbf1f3f05aff2b75881b700aadc7b0a
blob + 80128b892cc588402958d8f88267e6e75aae03cd
--- parse.y
+++ parse.y
const char *errstr;
int n;
- if (has_prefix(name, "colo")) {
+ if (!strncmp(name, "colo", 4)) {
/* people are strange */
- if (has_prefix(name, "color"))
+ if (!strncmp(name, "color", 5))
name += 5;
- else if (has_prefix(name, "colour"))
+ else if (!strncmp(name, "colour", 6))
name += 6;
else
goto err;
blob - fc8b504d4cc5d16e6d633cc0ff993a49ceb277ef
blob + c83b714cad0ef63cb34b5680ccd33f0595d0ca81
--- parser/parser_gophermap.c
+++ parser/parser_gophermap.c
switch (l->type = type) {
case LINE_LINK:
- if (s->type == 'h' && has_prefix(s->selector, "URL:")) {
+ if (s->type == 'h' && !strncmp(s->selector, "URL:", 4)) {
strlcpy(buf, s->selector+4, sizeof(buf));
} else {
strlcpy(buf, "gopher://", sizeof(buf));
if ((uri = line->alt) == NULL)
return -1;
- if (!has_prefix(uri, "gopher://"))
+ if (strncmp(uri, "gopher://", 9) != 0)
return fprintf(fp, "h%s\tURL:%s\terror.host\t1\n",
text, line->alt);
blob - e94d85197fd198edd3e5749080f110f489b2931b
blob + 41cd7ea789351d34778753b6cd226bfd8d4aa666
--- parser/parser_textpatch.c
+++ parser/parser_textpatch.c
break;
}
- if (has_prefix(l->line, "+++"))
+ if (!strncmp(l->line, "+++", 3))
p->flags &= ~PARSER_IN_PATCH_HDR;
}
blob - 9c67fc6711f528acca01bab54217503f90aee94c
blob + 962b33911e4ef1ec30de6c88dbd401440dcf74b2
--- telescope.c
+++ telescope.c
if (tab != NULL) {
if (!parser_free(tab))
die();
- if (has_prefix(tab->hist_cur->h, "gemini://") ||
- has_prefix(tab->hist_cur->h, "gopher://"))
+ if (!strncmp(tab->hist_cur->h, "gemini://", 9) ||
+ !strncmp(tab->hist_cur->h, "gopher://", 9))
mcache_tab(tab);
ui_on_tab_refresh(tab);
ui_on_tab_loaded(tab);
return;
}
- if (has_prefix(raw, "./")) {
+ if (!strncmp(raw, "./", 2)) {
strlcpy(ret, "file://", len);
getcwd(buf, sizeof(buf));
strlcat(ret, buf, len);
blob - 594577b662d99f8600d2b04200ee4360ca6e635e
blob + d36b92c69e0f2fb8092ed347f7bc3ccab891c9c3
--- utils.c
+++ utils.c
}
int
-has_prefix(const char *str, const char *prfx)
-{
- size_t i;
-
- for (i = 0; str[i] != '\0' && prfx[i] != '\0'; ++i)
- if (str[i] != prfx[i])
- return 0;
- return prfx[i] == '\0';
-}
-
-int
has_suffix(const char *str, const char *sufx)
{
size_t l, s;