@cryptotaxi247 / netdata-1 / commits / 68b1cb1bd

support for space in apps_groups.conf using a backslash as escape

Costa Tsaousis (ktsaou) committed Feb 28, 2016 at 13:48 UTC 68b1cb1bd3f792d7271d6a6c2b62f7c325e43773
1 file changed +21 -1
src/apps_plugin.c
+21 -1
@@ -437,17 +437,37 @@ int read_process_groups(const char *name)
437
438 struct target *w = NULL;
439 long count = 0;
440 + int blen = 0;
441 + char buffer[4097] = "";
442 + buffer[4096] = '\0';
443
444 // the process names
445 while((p = strsep(&s, " "))) {
446 p = trim(p);
447 if(!p || !*p) continue;
448
446 - struct target *n = get_target(p, w);
449 + strncpy(&buffer[blen], p, 4096 - blen);
450 + blen = strlen(buffer);
451 +
452 + while(buffer[blen - 1] == '\\') {
453 + buffer[blen - 1] = ' ';
454 +
455 + if((p = strsep(&s, " ")))
456 + p = trim(p);
457 +
458 + if(!p || !*p) p = " ";
459 + strncpy(&buffer[blen], p, 4096 - blen);
460 + blen = strlen(buffer);
461 + }
462 +
463 + struct target *n = get_target(buffer, w);
464 n->hidden = whidden;
465 n->debug = wdebug;
466 if(!w) w = n;
467
468 + buffer[0] = '\0';
469 + blen = 0;
470 +
471 count++;
472 }
473