diff options
author | Michael Stapelberg <michael@stapelberg.de> | 2012-02-16 23:29:29 +0000 |
---|---|---|
committer | Michael Stapelberg <michael@stapelberg.de> | 2012-02-16 23:30:54 +0000 |
commit | d5b4c8e368050cf1b84b03c1379bbbc3c817a713 (patch) | |
tree | 2f918d4c5b95a05ebec68bceec35f7d4fa9a0c4e /src/print_ipv6_addr.c | |
parent | 7149f6f78e0d105f02d54e1db60db8b191a98acb (diff) |
Implement the i3bar JSON protocol
This hardcodes all the JSON parts. Strings are not properly escaped currently.
The best/easiest way to fix this is by actually using libyajl.
Diffstat (limited to 'src/print_ipv6_addr.c')
-rw-r--r-- | src/print_ipv6_addr.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/print_ipv6_addr.c b/src/print_ipv6_addr.c index e96c0d3..3ace6a2 100644 --- a/src/print_ipv6_addr.c +++ b/src/print_ipv6_addr.c @@ -9,6 +9,8 @@ #include <string.h> #include <arpa/inet.h> +#include "i3status.h" + static char *get_sockname(struct addrinfo *addr) { static char buf[INET6_ADDRSTRLEN+1]; struct sockaddr_storage local; @@ -111,6 +113,9 @@ void print_ipv6_info(const char *format_up, const char *format_down) { const char *walk; char *addr_string = get_ipv6_addr(); + if (output_format == O_I3BAR) + printf("{\"name\":\"ipv6\", \"full_text\":\""); + if (addr_string == NULL) { printf("%s", format_down); return; @@ -127,4 +132,7 @@ void print_ipv6_info(const char *format_up, const char *format_down) { walk += strlen("ip"); } } + + if (output_format == O_I3BAR) + printf("\"}"); } |