diff -ur batctl/functions.c batctl2/functions.c --- batctl/functions.c 2009-12-11 23:10:31.000000000 +0100 +++ batctl2/functions.c 2009-12-11 23:09:48.000000000 +0100 @@ -161,10 +161,10 @@ if (read_opt & USE_READ_BUFF) { read_ptr = read_buff; - read_len = sizeof(read_buff); + read_len = sizeof(read_buff)-1; } else { read_ptr = lbuff; - read_len = sizeof(lbuff); + read_len = sizeof(lbuff)-1; } open: diff -ur batctl/main.c batctl2/main.c --- batctl/main.c 2009-12-11 23:10:31.000000000 +0100 +++ batctl2/main.c 2009-12-11 23:09:48.000000000 +0100 @@ -121,7 +121,7 @@ ret = handle_proc_setting(argc - 1, argv + 1, PROC_ORIG_INTERVAL, orig_interval_usage); - } if (strcmp(argv[1], "vis") == 0) { + } else if (strcmp(argv[1], "vis") == 0) { ret = vis(argc - 1, argv + 1); diff -ur batctl/vis.c batctl2/vis.c --- batctl/vis.c 2009-12-11 23:10:48.000000000 +0100 +++ batctl2/vis.c 2009-12-11 23:29:04.000000000 +0100 @@ -215,7 +215,7 @@ while ((read = getline(&line, &len, fp)) != -1) { /* First MAC address is the originator */ - orig = strtok_r(line, " ", &line_save_ptr); + orig = strtok_r(line, ",", &line_save_ptr); duplet_save_ptr = line_save_ptr; while ((duplet = strtok_r(NULL, ",", &duplet_save_ptr)) != NULL) { @@ -265,10 +265,12 @@ int c; /* Do we know the requested format? */ - if (strcmp(argv[1], "dot") == 0) - dot=true; - if (strcmp(argv[1], "json") == 0) - json=true; + if(argc > 1) { + if (strcmp(argv[1], "dot") == 0) + dot=true; + if (strcmp(argv[1], "json") == 0) + json=true; + } if (!dot && !json) { usage(); @@ -319,5 +321,3 @@ return EXIT_FAILURE; } - -