From 0b5db2653e9ff5068df9569a381caf9e396cbbac Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Thu, 1 Nov 2012 01:09:22 +0000 Subject: [PATCH] e: simplify logic. SVN revision: 78737 --- src/bin/e_sys_main.c | 41 +++++++++-------------------------------- 1 file changed, 9 insertions(+), 32 deletions(-) diff --git a/src/bin/e_sys_main.c b/src/bin/e_sys_main.c index d68bf6e60..0269bf2bb 100644 --- a/src/bin/e_sys_main.c +++ b/src/bin/e_sys_main.c @@ -156,43 +156,20 @@ main(int argc, if (!strcmp(action, "gdb")) { - Eina_Prefix *pfx = NULL; char buffer[4096]; - char *tmp; - char *enlightenment_gdb; - int fd; int r; - pfx = eina_prefix_new(argv[0], main, - "E", "enlightenment", "AUTHORS", - PACKAGE_BIN_DIR, PACKAGE_LIB_DIR, - PACKAGE_DATA_DIR, LOCALE_DIR); - if (!pfx) exit(-1); - - snprintf(buffer, 4096, - "set logging file %s\nset logging on\nbacktrace full\n", - output); - - tmp = strdup("/tmp/e-gdb-XXXXXX"); - fd = mkstemp(tmp); - if (fd < 0) exit(-1); - write(fd, buffer, strlen(buffer)); - close(fd); - - snprintf(buffer, 4096, - "cat %s | %s %s/enlightenment %i > /dev/null 2> /dev/null", - tmp, + snprintf(buffer, 4096, + "%s --pid=%i " + "-ex 'set logging file %s' " + "-ex 'set logging on' " + "-ex 'thread apply all backtrace full' " + "-ex detach -ex quit > /dev/null 2> /dev/null", cmd, - eina_prefix_bin_get(pfx), - pid); - enlightenment_gdb = strdup(buffer); + pid, + output); - r = system(enlightenment_gdb); - - unlink(tmp); - - free(enlightenment_gdb); - free(tmp); + r = system(buffer); exit(WEXITSTATUS(r)); }