oops.. i changed he code around a bit then realised i simply forgot to

initialise the string to "" - thats what the problem was :)


SVN revision: 5546
This commit is contained in:
Carsten Haitzler 2001-10-21 21:53:08 +00:00
parent 9fdc2d4c99
commit 4e64c5a212
1 changed files with 30 additions and 30 deletions

View File

@ -2329,36 +2329,36 @@ ecore_window_get_machine(Window win)
char * char *
ecore_window_get_command(Window win) ecore_window_get_command(Window win)
{ {
int cargc; int cargc;
char **cargv; char **cargv;
if (XGetCommand(disp, win, &cargv, &cargc)) if (XGetCommand(disp, win, &cargv, &cargc))
{ {
if (cargc > 0) if (cargc > 0)
{ {
char *s; char *s;
int size, i; int size, i;
s = NULL; size = 0;
size = strlen(cargv[0]); for (i = 0; i < cargc; i++)
REALLOC(s, char, size + 1); size += strlen(cargv[i]);
size += cargc - 1;
strcpy(s, cargv[0]); s = NEW(char, size + 1);
for (i = 1; i < cargc; i++) s[0] = 0;
{
size += strlen(cargv[i]); strcpy(s, cargv[0]);
REALLOC(s, char, size + 2); for (i = 1; i < cargc; i++)
{
strcat(s, " "); strcat(s, " ");
strcat(s, cargv[i]); strcat(s, cargv[i]);
} }
XFreeStringList(cargv); XFreeStringList(cargv);
return s; return s;
} }
else else
return NULL; return NULL;
} }
return NULL; return NULL;
} }
char * char *