void url_check_line (char *buf, int len) { char *po = buf; char *start; int wlen; if (buf[0] == ':' && buf[1] != 0) po++; start = po; /* check each "word" (space separated) */ while (1) { switch (po[0]) { case 0: case ' ': wlen = po - start; if (wlen > 2) { /* HACK! :( */ /* This is to work around not being able to detect URLs that are at the start of messages. */ if (start[0] == ':') { start++; wlen--; } if (start[0] == '+' || start[0] == '-') { start++; wlen--; } if (wlen > 2 && url_check_word (start, wlen) == WORD_URL) { url_add (start, wlen); } } if (po[0] == 0) return; po++; start = po; break; default: po++; } } }
void url_check_line (char *buf, int len) { char *po = buf; char *start; int wlen; if (buf[0] == ':' && buf[1] != 0) po++; start = po; /* check each "word" (space separated) */ while (1) { switch (po[0]) { case 0: case ' ': wlen = po - start; if (wlen > 2) { if (url_check_word (start, wlen) == WORD_URL) { url_add (start, wlen); } } if (po[0] == 0) return; po++; start = po; break; default: po++; } } }