/* A datatype to pass through the callbacks to save the state */
struct outputs_json_params {
struct outputs_head *outputs;
- i3_output *outputs_walk;
- char *cur_key;
- char *json;
- bool in_rect;
+ i3_output *outputs_walk;
+ char *cur_key;
+ char *json;
+ bool in_rect;
};
/*
*
*/
static int outputs_null_cb(void *params_) {
- struct outputs_json_params *params = (struct outputs_json_params*) params_;
+ struct outputs_json_params *params = (struct outputs_json_params *)params_;
FREE(params->cur_key);
*
*/
static int outputs_boolean_cb(void *params_, int val) {
- struct outputs_json_params *params = (struct outputs_json_params*) params_;
+ struct outputs_json_params *params = (struct outputs_json_params *)params_;
if (!strcmp(params->cur_key, "active")) {
params->outputs_walk->active = val;
* Parse an integer (current_workspace or the rect)
*
*/
-#if YAJL_MAJOR >= 2
static int outputs_integer_cb(void *params_, long long val) {
-#else
-static int outputs_integer_cb(void *params_, long val) {
-#endif
- struct outputs_json_params *params = (struct outputs_json_params*) params_;
+ struct outputs_json_params *params = (struct outputs_json_params *)params_;
if (!strcmp(params->cur_key, "current_workspace")) {
- params->outputs_walk->ws = (int) val;
+ params->outputs_walk->ws = (int)val;
FREE(params->cur_key);
return 1;
}
if (!strcmp(params->cur_key, "x")) {
- params->outputs_walk->rect.x = (int) val;
+ params->outputs_walk->rect.x = (int)val;
FREE(params->cur_key);
return 1;
}
if (!strcmp(params->cur_key, "y")) {
- params->outputs_walk->rect.y = (int) val;
+ params->outputs_walk->rect.y = (int)val;
FREE(params->cur_key);
return 1;
}
if (!strcmp(params->cur_key, "width")) {
- params->outputs_walk->rect.w = (int) val;
+ params->outputs_walk->rect.w = (int)val;
FREE(params->cur_key);
return 1;
}
if (!strcmp(params->cur_key, "height")) {
- params->outputs_walk->rect.h = (int) val;
+ params->outputs_walk->rect.h = (int)val;
FREE(params->cur_key);
return 1;
}
* Parse a string (name)
*
*/
-#if YAJL_MAJOR >= 2
static int outputs_string_cb(void *params_, const unsigned char *val, size_t len) {
-#else
-static int outputs_string_cb(void *params_, const unsigned char *val, unsigned int len) {
-#endif
- struct outputs_json_params *params = (struct outputs_json_params*) params_;
+ struct outputs_json_params *params = (struct outputs_json_params *)params_;
if (!strcmp(params->cur_key, "current_workspace")) {
char *copy = smalloc(sizeof(const unsigned char) * (len + 1));
- strncpy(copy, (const char*) val, len);
+ strncpy(copy, (const char *)val, len);
copy[len] = '\0';
char *end;
}
char *name = smalloc(sizeof(const unsigned char) * (len + 1));
- strncpy(name, (const char*) val, len);
+ strncpy(name, (const char *)val, len);
name[len] = '\0';
params->outputs_walk->name = name;
*
*/
static int outputs_start_map_cb(void *params_) {
- struct outputs_json_params *params = (struct outputs_json_params*) params_;
+ struct outputs_json_params *params = (struct outputs_json_params *)params_;
i3_output *new_output = NULL;
if (params->cur_key == NULL) {
*
*/
static int outputs_end_map_cb(void *params_) {
- struct outputs_json_params *params = (struct outputs_json_params*) params_;
+ struct outputs_json_params *params = (struct outputs_json_params *)params_;
if (params->in_rect) {
params->in_rect = false;
/* Ignore the end of a rect */
* Essentially we just save it in the parsing-state
*
*/
-#if YAJL_MAJOR >= 2
static int outputs_map_key_cb(void *params_, const unsigned char *keyVal, size_t keyLen) {
-#else
-static int outputs_map_key_cb(void *params_, const unsigned char *keyVal, unsigned keyLen) {
-#endif
- struct outputs_json_params *params = (struct outputs_json_params*) params_;
+ struct outputs_json_params *params = (struct outputs_json_params *)params_;
FREE(params->cur_key);
params->cur_key = smalloc(sizeof(unsigned char) * (keyLen + 1));
- strncpy(params->cur_key, (const char*) keyVal, keyLen);
+ strncpy(params->cur_key, (const char *)keyVal, keyLen);
params->cur_key[keyLen] = '\0';
return 1;
yajl_handle handle;
yajl_status state;
-#if YAJL_MAJOR < 2
- yajl_parser_config parse_conf = { 0, 0 };
+ handle = yajl_alloc(&outputs_callbacks, NULL, (void *)¶ms);
- handle = yajl_alloc(&outputs_callbacks, &parse_conf, NULL, (void*) ¶ms);
-#else
- handle = yajl_alloc(&outputs_callbacks, NULL, (void*) ¶ms);
-#endif
-
- state = yajl_parse(handle, (const unsigned char*) json, strlen(json));
+ state = yajl_parse(handle, (const unsigned char *)json, strlen(json));
/* FIXME: Propper errorhandling for JSON-parsing */
switch (state) {
case yajl_status_ok:
break;
case yajl_status_client_canceled:
-#if YAJL_MAJOR < 2
- case yajl_status_insufficient_data:
-#endif
case yajl_status_error:
ELOG("Could not parse outputs-reply!\n");
exit(EXIT_FAILURE);