X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Femail.c;h=cb30a0eaf9ca42b73cccd2b19673d18ade2f15b4;hb=d3bd9c300b7b6c6b26c573a62fe59cece5d72739;hp=c0f28d04379be54bc9c3e0fee08697d71ffc3cbb;hpb=a18496a4ac759552fd4dac1d2c661fb50285b1a1;p=collectd.git diff --git a/src/email.c b/src/email.c index c0f28d04..cb30a0ea 100644 --- a/src/email.c +++ b/src/email.c @@ -297,22 +297,21 @@ static void *collect(void *arg) { } if (line[0] == 'e') { /* e:: */ - char *ptr = NULL; - char *type = strtok_r(line + 2, ":", &ptr); - char *tmp = strtok_r(NULL, ":", &ptr); - int bytes = 0; - - if (tmp == NULL) { + char *type = line + 2; + char *bytes_str = strchr(type, ':'); + if (bytes_str == NULL) { log_err("collect: syntax error in line '%s'", line); continue; } - bytes = atoi(tmp); + *bytes_str = 0; + bytes_str++; pthread_mutex_lock(&count_mutex); type_list_incr(&list_count, type, /* increment = */ 1); pthread_mutex_unlock(&count_mutex); + int bytes = atoi(bytes_str); if (bytes > 0) { pthread_mutex_lock(&size_mutex); type_list_incr(&list_size, type, /* increment = */ bytes); @@ -370,7 +369,9 @@ static void *open_connection(void __attribute__((unused)) * arg) { pthread_exit((void *)1); } - struct sockaddr_un addr = {.sun_family = AF_UNIX}; + struct sockaddr_un addr = { + .sun_family = AF_UNIX, + }; sstrncpy(addr.sun_path, path, (size_t)(UNIX_PATH_MAX - 1)); errno = 0;