X-Git-Url: http://winboard.nl/cgi-bin?p=xboard.git;a=blobdiff_plain;f=usystem.c;h=572b910d091a384d7a55bd9dc24d478a36cefc2c;hp=23b798b784bac70c393a0daed72daad259f67b28;hb=1eb96d7121b161a946efaf18eded57d630f21ad1;hpb=de1e5c90f7dc200af953878230331fefe4b38ed7 diff --git a/usystem.c b/usystem.c index 23b798b..572b910 100644 --- a/usystem.c +++ b/usystem.c @@ -523,8 +523,11 @@ BufferCommandOutput (char *command, int size) char *res = (char *) calloc(1, size); if(res) { int count; + FILE *f; StartChildProcess(command, ".", (ProcRef) &pr); // run command in daughter process - count = read(pr->fdFrom, res, size-1); // read its output + f = fdopen(pr->fdFrom, "r"); + count = fread(res, 1, size-1, f); // read its output + fclose(f); res[count > 0 ? count : 0] = NULLCHAR; DestroyChildProcess((ProcRef) pr, 9); free(pr);