On Wednesday 18 of July 2012 16:33:32 Jakub Filak wrote:
On Wednesday 18 of July 2012 15:55:30 Denys Vlasenko wrote:
> On 07/18/2012 01:01 PM, Jakub Filak wrote:
> > + if (response)
> > + {
> > + size_t len = strlen(response);
> > + response[len++] = '\n';
> > +
> > + if (full_write(state->command_in_fd, response, len) != len)
> > + perror_msg_and_die("Can't write %lu bytes to
child's
> > stdin", len);
>
> %lu means "unsigned long". I would add a cast: (unsigned long)len.
>
> > +
> > + free(response);
> > + }
> > +
> >
> > free(buf);
> >
> > }
> > fclose(fp); /* Got EOF, close. This also closes
> > state->command_out_fd
> > */
> >
> > @@ -612,3 +607,44 @@ char *list_possible_events(struct dump_dir *dd,
> > const
> > char *dump_dir_name, const>
> >
> > return strbuf_free_nobuf(result);
> >
> > }
> >
> > +
> > +void run_event_stdio_alert(const char *msg, void *param)
> > +{
> > + printf("%s\n", msg);
> > + fflush(stdout);
> > +}
> > +
> > +char *run_event_stdio_ask(const char *msg, void *param)
> > +{
> > + printf("%s ", msg);
> > + fflush(stdout);
> > + char buf[256];
> > + if (!safe_read(STDIN_FILENO, buf, sizeof(buf)))
>
> If you name them ..._stdio_..., I would use stdio functions consistently
> in all callbacks. Here, I'd use fgets, not safe_read.
Should I take care of EINTR? (I always use CTRL+Z everywhere.)
The answer is 'no' :)