]> git.sur5r.net Git - i3/i3/commitdiff
Cast con id as uintptr_t (#2298) 2293/head
authorTony Crisci <tony@dubstepdish.com>
Fri, 15 Apr 2016 07:27:43 +0000 (03:27 -0400)
committerMichael Stapelberg <stapelberg@users.noreply.github.com>
Fri, 15 Apr 2016 07:27:43 +0000 (00:27 -0700)
Use `uintptr_t` to cast the con id to int instead of `long int`. This
type is guaranteed to hold the pointer as an int regardless of platform.

fixes #2283

src/commands.c
src/ipc.c

index 405bb4297e52682cdaf4b1eee01f4a5b0adcbf57..403c3b3a2dd02f3fb1821268567d1bfb9156c3bf 100644 (file)
@@ -9,6 +9,7 @@
  * commands.c: all command functions (see commands_parser.c)
  *
  */
+#include <stdint.h>
 #include <float.h>
 #include <stdarg.h>
 
@@ -1625,7 +1626,7 @@ void cmd_open(I3_CMD) {
     ystr("success");
     y(bool, true);
     ystr("id");
-    y(integer, (long int)con);
+    y(integer, (uintptr_t)con);
     y(map_close);
 
     cmd_output->needs_tree_render = true;
index 566fe52a717acb1863612fdfb7ac5a7d35eba32a..2bd5f59d0b243b8406b27d2b12a9376939840a43 100644 (file)
--- a/src/ipc.c
+++ b/src/ipc.c
@@ -12,6 +12,7 @@
 #include "all.h"
 #include "yajl_utils.h"
 
+#include <stdint.h>
 #include <sys/socket.h>
 #include <sys/un.h>
 #include <fcntl.h>
@@ -217,7 +218,7 @@ static void dump_binding(yajl_gen gen, Binding *bind) {
 void dump_node(yajl_gen gen, struct Con *con, bool inplace_restart) {
     y(map_open);
     ystr("id");
-    y(integer, (long int)con);
+    y(integer, (uintptr_t)con);
 
     ystr("type");
     switch (con->type) {
@@ -444,7 +445,7 @@ void dump_node(yajl_gen gen, struct Con *con, bool inplace_restart) {
     ystr("focus");
     y(array_open);
     TAILQ_FOREACH(node, &(con->focus_head), focused) {
-        y(integer, (long int)node);
+        y(integer, (uintptr_t)node);
     }
     y(array_close);