X-Git-Url: https://git.sur5r.net/?p=i3%2Fi3;a=blobdiff_plain;f=src%2Fdisplay_version.c;h=2e05cafa89cc75a7f65fdfe2c6c9467e049736c2;hp=c82610ed38ff2856975a8ae37838b947a4f23e1b;hb=HEAD;hpb=e89f39158974e4d68491a8dcd471f6ee70f5b46f diff --git a/src/display_version.c b/src/display_version.c index c82610ed..2e05cafa 100644 --- a/src/display_version.c +++ b/src/display_version.c @@ -1,5 +1,3 @@ -#undef I3__FILE__ -#define I3__FILE__ "key_press.c" /* * vim:ts=4:sw=4:expandtab * @@ -10,6 +8,8 @@ * i3 --moreversion. * */ +#include "all.h" + #include #include #include @@ -17,7 +17,6 @@ #include #include #include -#include "all.h" static bool human_readable_key, loaded_config_file_name_key; static char *human_readable_version, *loaded_config_file_name; @@ -56,10 +55,6 @@ static yajl_callbacks version_callbacks = { * */ void display_running_version(void) { - char *socket_path = root_atom_contents("I3_SOCKET_PATH", conn, conn_screen); - if (socket_path == NULL) - exit(EXIT_SUCCESS); - char *pid_from_atom = root_atom_contents("I3_PID", conn, conn_screen); if (pid_from_atom == NULL) { /* If I3_PID is not set, the running version is older than 4.2-200. */ @@ -72,18 +67,7 @@ void display_running_version(void) { printf("(Getting version from running i3, press ctrl-c to abort…)"); fflush(stdout); - /* TODO: refactor this with the code for sending commands */ - int sockfd = socket(AF_LOCAL, SOCK_STREAM, 0); - if (sockfd == -1) - err(EXIT_FAILURE, "Could not create socket"); - - struct sockaddr_un addr; - memset(&addr, 0, sizeof(struct sockaddr_un)); - addr.sun_family = AF_LOCAL; - strncpy(addr.sun_path, socket_path, sizeof(addr.sun_path) - 1); - if (connect(sockfd, (const struct sockaddr *)&addr, sizeof(struct sockaddr_un)) < 0) - err(EXIT_FAILURE, "Could not connect to i3"); - + int sockfd = ipc_connect(NULL); if (ipc_send_message(sockfd, 0, I3_IPC_MESSAGE_TYPE_GET_VERSION, (uint8_t *)"") == -1) err(EXIT_FAILURE, "IPC: write()"); @@ -183,4 +167,6 @@ void display_running_version(void) { #endif yajl_free(handle); + free(reply); + free(pid_from_atom); }