MCPcopy Create free account
hub / github.com/apache/trafficserver / tokLine

Function tokLine

src/tscore/MatcherUtils.cc:270–306  ·  view source on GitHub ↗

char* tokLine(char* buf, char** last, char cont) Similar to strtok_r but only tokenizes on '\n' and will return tokens that are empty strings

Source from the content-addressed store, hash-verified

268// and will return tokens that are empty strings
269//
270char *
271tokLine(char *buf, char **last, char cont)
272{
273 char *start;
274 char *cur;
275 char *prev = nullptr;
276
277 if (buf != nullptr) {
278 start = cur = buf;
279 *last = buf;
280 } else {
281 start = cur = (*last) + 1;
282 }
283
284 while (*cur != '\0') {
285 if (*cur == '\n') {
286 if (cont != '\0' && prev != nullptr && *prev == cont) {
287 *prev = ' ';
288 *cur = ' ';
289 } else {
290 *cur = '\0';
291 *last = cur;
292 return start;
293 }
294 }
295 prev = cur++;
296 }
297
298 // Return the last line even if it does
299 // not end in a newline
300 if (cur > (*last + 1)) {
301 *last = cur - 1;
302 return start;
303 }
304
305 return nullptr;
306}
307
308const char *matcher_type_str[] = {"invalid", "host", "domain", "ip", "url_regex", "url", "host_regex"};
309

Callers 2

loadMethod · 0.85
remap_parse_config_btiFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected