MCPcopy Create free account
hub / github.com/git/git / padded_write

Function padded_write

reftable/writer.c:47–75  ·  view source on GitHub ↗

write data, queuing the padding for the next write. Returns negative for * error. */

Source from the content-addressed store, hash-verified

45/* write data, queuing the padding for the next write. Returns negative for
46 * error. */
47static int padded_write(struct reftable_writer *w, uint8_t *data, size_t len,
48 int padding)
49{
50 int n = 0;
51 if (w->pending_padding > 0) {
52 uint8_t *zeroed;
53 int n;
54
55 zeroed = reftable_calloc(w->pending_padding, sizeof(*zeroed));
56 if (!zeroed)
57 return -1;
58
59 n = w->write(w->write_arg, zeroed, w->pending_padding);
60 if (n < 0) {
61 reftable_free(zeroed);
62 return n;
63 }
64
65 w->pending_padding = 0;
66 reftable_free(zeroed);
67 }
68
69 w->pending_padding = padding;
70 n = w->write(w->write_arg, data, len);
71 if (n < 0)
72 return n;
73 n += padding;
74 return 0;
75}
76
77static void options_set_defaults(struct reftable_write_options *opts)
78{

Callers 2

reftable_writer_closeFunction · 0.85

Calls 3

reftable_callocFunction · 0.85
reftable_freeFunction · 0.85
writeMethod · 0.45

Tested by

no test coverage detected