Lines Matching refs:status
95 register CommandStatus status = (CommandStatus)closure;
96 CheckReadFromPipe(*fd, &status->output_buffer, &status->output_buf_size,
107 register CommandStatus status = (CommandStatus)closure;
108 CheckReadFromPipe(*fd, &status->error_buffer, &status->error_buf_size,
140 CommandStatus status = XtNew(CommandStatusRec);
157 if (pipe(status->output_pipe) /*failed*/) {
159 status->output_pipe[0]=0;
162 outputfd = status->output_pipe[1];
163 FD_SET(status->output_pipe[0], &fds);
164 status->output_inputId =
166 status->output_pipe[0], (XtPointer)XtInputReadMask,
167 ReadStdout, (XtPointer)status
169 status->output_buffer = NULL;
170 status->output_buf_size = 0;
175 if (pipe(status->error_pipe) /*failed*/) {
177 status->error_pipe[0]=0;
181 (void) dup2(status->error_pipe[1], fileno(stderr));
182 close(status->error_pipe[1]);
183 FD_SET(status->error_pipe[0], &fds);
184 status->error_inputId =
186 status->error_pipe[0], (XtPointer)XtInputReadMask,
187 ReadStderr, (XtPointer)status
196 status->popup = (Widget)NULL;
197 status->lastInput = lastInput;
198 status->error_buffer = NULL;
199 status->error_buf_size = 0;
210 if (status->error_pipe[0]) {
222 if (output_to_pipe && status->output_pipe[0] >= num_fds)
223 num_fds = status->output_pipe[0]+1;
224 if (status->error_pipe[0] >= num_fds)
225 num_fds = status->error_pipe[0]+1;
226 status->child_pid = pid;
307 CheckReadFromPipe( status->output_pipe[0],
308 &status->output_buffer,
309 &status->output_buf_size,
312 *bufP = status->output_buffer;
313 *lenP = status->output_buf_size;
314 close( status->output_pipe[0] );
315 XtRemoveInput( status->output_inputId );
317 if (status->error_pipe[0]) {
318 CheckReadFromPipe( status->error_pipe[0],
319 &status->error_buffer,
320 &status->error_buf_size,
323 close( status->error_pipe[0] );
324 XtRemoveInput( status->error_inputId );
326 if (status->error_buffer != NULL) {
330 status->shell_command = XtNewString(argv[2]);
331 } else status->shell_command = (char*) NULL;
333 while (status->error_buffer[status->error_buf_size-1] == '\0')
334 status->error_buf_size--;
335 while (status->error_buffer[status->error_buf_size-1] == '\n')
336 status->error_buffer[--status->error_buf_size] = '\0';
337 DEBUG1( "stderr = \"%s\"\n", status->error_buffer )
338 PopupNotice( status->error_buffer, FreeStatus, (Pointer)status );
342 XtFree( (Pointer)status );
406 CommandStatus status = (CommandStatus)closure;
407 if (status->popup != (Widget)NULL) {
408 XtPopdown( status->popup );
409 XtDestroyWidget( status->popup );
411 if (status->error_buffer != NULL) XtFree(status->error_buffer);
424 int status;
442 status = _DoCommandToFileOrPipe( argv, fd_in, fd_out, (char **) NULL,
444 return status;