Re: [B.A.T.M.A.N.] [Patch] vis: Modified format of JSON output.
On Thursday 10 March 2011 08:55:36 Alberto Escudero-Pascual wrote: * The patch fixes three issues - Reporting of duplicated entries in the VIS output, this is fixed in trunk but not in vis.0.3.2 - Removed a gcc warning related to the use of chdir() - Cleaned up the JSON output of vis Our code is in SVN so I have not git-send-email magic :) The point is not to make everybody use git - feel free to use other tools (git just makes it easy). But sending the patch to the list enables everybody to read comment on the proposed patch and also allows a painless commit. Broken spacing, broken line endings, patched files in remote SVNs, etc don't make reviewing the code a pleasure experience and are most likely to be ignored. Regards, Marek
[B.A.T.M.A.N.] [Patch] vis: Modified format of JSON output.
The current vis server JSON output format is breaking the json_decode() function for PHP. This patch mainly: - Removes all spaces - Removes all the \t TABS - Double quotes the string-variables Reported-by: Alberto Escudero-Pascual a...@it46.se Signed-off-by: elektra onelek...@gmx.net --- vis.c 2011-03-09 17:19:59.0 +0100 +++ new/vis.c 2011-03-09 17:15:26.0 +0100 @@ -88,19 +88,21 @@ if ( fork() ) exit(EXIT_SUCCESS); - chdir( / ); + if (chdir( / )==0) { - if ( ( fd = open(_PATH_DEVNULL, O_RDWR, 0) ) != -1 ) { + if ( ( fd = open(_PATH_DEVNULL, O_RDWR, 0) ) != -1 ) { - dup2(fd, STDIN_FILENO); - dup2(fd, STDOUT_FILENO); - dup2(fd, STDERR_FILENO); + dup2(fd, STDIN_FILENO); + dup2(fd, STDOUT_FILENO); + dup2(fd, STDERR_FILENO); - if ( fd 2 ) - close(fd); + if ( fd 2 ) + close(fd); + } + } else { + exit_error( Error - can't chdir\n); } - return 0; } @@ -395,7 +397,7 @@ fillme-dot_buffer = (char *)debugRealloc( fillme-dot_buffer, strlen( tmp ) + strlen( fillme-dot_buffer ) + 1, 408 ); strncat( fillme-dot_buffer, tmp, strlen( tmp ) ); - snprintf( tmp, sizeof( tmp ), %s\t{ router : \%s\, neighbour : \%s\, label : %.2f }, + snprintf( tmp, sizeof( tmp ), %s{\router\:\%s\,\neighbour\:\%s\,\label\:%.2f}, (first_line ? : , \n), from_str, to_str, (float)( orig_node-tq_max / (float)neigh-tq_avg ) ); first_line = 0; fillme-json_buffer = (char *)debugRealloc( fillme-json_buffer, strlen( tmp ) + strlen( fillme-json_buffer ) + 1, 408 ); @@ -416,7 +418,7 @@ fillme-dot_buffer = (char *)debugRealloc( fillme-dot_buffer, strlen( tmp ) + strlen( fillme-dot_buffer ) + 1, 409 ); strncat( fillme-dot_buffer, tmp, strlen( tmp ) ); - snprintf( tmp, sizeof( tmp ), %s\t{ router : \%s\, gateway : \%s/%s\, label : \HNA\ }, + snprintf( tmp, sizeof( tmp ), %s{\router\:\%s\,\gateway\:\%s/%s\,\label\:\HNA\}, (first_line ? : ,\n), from_str, to_str, hna_str ); first_line = 0; fillme-json_buffer = (char *)debugRealloc( fillme-json_buffer, strlen( tmp ) + strlen( fillme-json_buffer ) + 1, 409 ); @@ -432,7 +434,7 @@ strncat( fillme-dot_buffer, tmp, strlen( tmp ) );
[B.A.T.M.A.N.] [Patch] vis: Modified format of JSON output.
The current vis server JSON output format is breaking the json_decode() function for PHP. This patch mainly: - Removes all spaces - Removes all the \t TABS - Double quotes the string-variables Reported-by: Alberto Escudero-Pascual a...@it46.se Signed-off-by: elektra onelek...@gmx.net --- vis.c 2011-03-09 17:19:59.0 +0100 +++ new/vis.c 2011-03-09 17:15:26.0 +0100 @@ -88,19 +88,21 @@ if ( fork() ) exit(EXIT_SUCCESS); - chdir( / ); + if (chdir( / )==0) { - if ( ( fd = open(_PATH_DEVNULL, O_RDWR, 0) ) != -1 ) { + if ( ( fd = open(_PATH_DEVNULL, O_RDWR, 0) ) != -1 ) { - dup2(fd, STDIN_FILENO); - dup2(fd, STDOUT_FILENO); - dup2(fd, STDERR_FILENO); + dup2(fd, STDIN_FILENO); + dup2(fd, STDOUT_FILENO); + dup2(fd, STDERR_FILENO); - if ( fd 2 ) - close(fd); + if ( fd 2 ) + close(fd); + } + } else { + exit_error( Error - can't chdir\n); } - return 0; } @@ -395,7 +397,7 @@ fillme-dot_buffer = (char *)debugRealloc( fillme-dot_buffer, strlen( tmp ) + strlen( fillme-dot_buffer ) + 1, 408 ); strncat( fillme-dot_buffer, tmp, strlen( tmp ) ); - snprintf( tmp, sizeof( tmp ), %s\t{ router : \%s\, neighbour : \%s\, label : %.2f }, + snprintf( tmp, sizeof( tmp ), %s{\router\:\%s\,\neighbour\:\%s\,\label\:%.2f}, (first_line ? : ,\n), from_str, to_str, (float)( orig_node-tq_max / (float)neigh-tq_avg ) ); first_line = 0; fillme-json_buffer = (char *)debugRealloc( fillme-json_buffer, strlen( tmp ) + strlen( fillme-json_buffer ) + 1, 408 ); @@ -416,7 +418,7 @@ fillme-dot_buffer = (char *)debugRealloc( fillme-dot_buffer, strlen( tmp ) + strlen( fillme-dot_buffer ) + 1, 409 ); strncat( fillme-dot_buffer, tmp, strlen( tmp ) ); - snprintf( tmp, sizeof( tmp ), %s\t{ router : \%s\, gateway : \%s/%s\, label : \HNA\ }, + snprintf( tmp, sizeof( tmp ), %s{\router\:\%s\,\gateway\:\%s/%s\,\label\:\HNA\}, (first_line ? : ,\n), from_str, to_str, hna_str ); first_line = 0; fillme-json_buffer = (char *)debugRealloc( fillme-json_buffer, strlen( tmp ) + strlen( fillme-json_buffer ) + 1, 409 ); @@ -432,7 +434,7 @@ strncat( fillme-dot_buffer, tmp, strlen( tmp ) ); snprintf( tmp, sizeof( tmp ), - %s\t{ router : \%s\, gateway : \%s\, label : \%s\ }, + %s{\router\:\%s\,\gateway\:\%s\,\label\:\%s\}, (first_line ? : ,\n), from_str, 0.0.0.0/0.0.0.0, HNA ); first_line = 0; fillme-json_buffer = (char *)debugRealloc( fillme-json_buffer, strlen( tmp ) + strlen( fillme-json_buffer ) + 1, 410 );