* DEALINGS IN THE SOFTWARE.
*/
+#include "config.h"
+
#include <stdio.h>
#include <spawn.h>
#include <unistd.h>
char *xkb_path;
char *original, *dump;
char *envp[] = { NULL };
- char *xvfb_argv[] = { "Xvfb", display, NULL };
- pid_t xvfb_pid;
- char *xkbcomp_argv[] = { "xkbcomp", "-I", NULL /* xkb_path */, display,
- NULL };
+ char *xvfb_argv[] = {
+ (char *) "Xvfb", display, NULL
+ };
+ pid_t xvfb_pid = 0;
+ char *xkbcomp_argv[] = {
+ (char *) "xkbcomp", (char *) "-I", NULL /* xkb_path */, display, NULL
+ };
pid_t xkbcomp_pid;
- char *xhost;
+ char *xhost = NULL;
int xdpy_current;
int xdpy_candidate;
* is [0, 63].
*/
for (xdpy_candidate = 63; xdpy_candidate >= 0; xdpy_candidate--) {
- char *buf;
-
if (xdpy_candidate == xdpy_current) {
continue;
}
break;
}
}
+ free(xhost);
if (ret != 0) {
ret = SKIP_TEST;
goto err_ctx;
err_xcb:
xcb_disconnect(conn);
err_xvfd:
- kill(xvfb_pid, SIGTERM);
+ if (xvfb_pid > 0)
+ kill(xvfb_pid, SIGTERM);
err_ctx:
xkb_context_unref(ctx);
return ret;