Re: [B.A.T.M.A.N.] [Patch] vis: Modified format of JSON output.

2011-03-10 Thread Marek Lindner
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.

2011-03-09 Thread elektra
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.

2011-03-09 Thread elektra
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 );