pkt-line: add stdio packet write functions
This adds three new functions to pkt-line.c: packet_fwrite, packet_fwrite_fmt and packet_fflush. Besides writing a pktline flush packet, packet_fflush also flushes the stdio buffer of the stream. Helped-by: Patrick Steinhardt <ps@pks.im> Helped-by: Jeff King <peff@peff.net> Signed-off-by: Jacob Vosmaer <jacob@gitlab.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
c4203212e3
commit
96328398b3
11
pkt-line.h
11
pkt-line.h
@ -35,6 +35,17 @@ int packet_write_fmt_gently(int fd, const char *fmt, ...) __attribute__((format
|
||||
int write_packetized_from_fd_no_flush(int fd_in, int fd_out);
|
||||
int write_packetized_from_buf_no_flush(const char *src_in, size_t len, int fd_out);
|
||||
|
||||
/*
|
||||
* Stdio versions of packet_write functions. When mixing these with fd
|
||||
* based functions, take care to call fflush(3) before doing fd writes or
|
||||
* closing the fd.
|
||||
*/
|
||||
void packet_fwrite(FILE *f, const char *buf, size_t size);
|
||||
void packet_fwrite_fmt(FILE *f, const char *fmt, ...) __attribute__((format (printf, 2, 3)));
|
||||
|
||||
/* packet_fflush writes a flush packet and flushes the stdio buffer of f */
|
||||
void packet_fflush(FILE *f);
|
||||
|
||||
/*
|
||||
* Read a packetized line into the buffer, which must be at least size bytes
|
||||
* long. The return value specifies the number of bytes read into the buffer.
|
||||
|
Reference in New Issue
Block a user