Lines Matching refs:data

93 	struct private_data *data;  in archive_write_add_filter_program()  local
99 f->data = calloc(1, sizeof(*data)); in archive_write_add_filter_program()
100 if (f->data == NULL) in archive_write_add_filter_program()
102 data = (struct private_data *)f->data; in archive_write_add_filter_program()
104 data->cmd = strdup(cmd); in archive_write_add_filter_program()
105 if (data->cmd == NULL) in archive_write_add_filter_program()
108 data->pdata = __archive_write_program_allocate(cmd); in archive_write_add_filter_program()
109 if (data->pdata == NULL) in archive_write_add_filter_program()
113 if (archive_string_ensure(&data->description, in archive_write_add_filter_program()
116 archive_strcpy(&data->description, prefix); in archive_write_add_filter_program()
117 archive_strcat(&data->description, cmd); in archive_write_add_filter_program()
119 f->name = data->description.s; in archive_write_add_filter_program()
136 struct private_data *data = (struct private_data *)f->data; in archive_compressor_program_open() local
138 return __archive_write_program_open(f, data->pdata, data->cmd); in archive_compressor_program_open()
145 struct private_data *data = (struct private_data *)f->data; in archive_compressor_program_write() local
147 return __archive_write_program_write(f, data->pdata, buff, length); in archive_compressor_program_write()
153 struct private_data *data = (struct private_data *)f->data; in archive_compressor_program_close() local
155 return __archive_write_program_close(f, data->pdata); in archive_compressor_program_close()
161 struct private_data *data = (struct private_data *)f->data; in archive_compressor_program_free() local
163 if (data) { in archive_compressor_program_free()
164 free(data->cmd); in archive_compressor_program_free()
165 archive_string_free(&data->description); in archive_compressor_program_free()
166 __archive_write_program_free(data->pdata); in archive_compressor_program_free()
167 free(data); in archive_compressor_program_free()
168 f->data = NULL; in archive_compressor_program_free()
179 struct archive_write_program_data *data; in __archive_write_program_allocate() local
181 data = calloc(1, sizeof(struct archive_write_program_data)); in __archive_write_program_allocate()
182 if (data == NULL) in __archive_write_program_allocate()
183 return (data); in __archive_write_program_allocate()
184 data->child_stdin = -1; in __archive_write_program_allocate()
185 data->child_stdout = -1; in __archive_write_program_allocate()
186 data->program_name = strdup(program); in __archive_write_program_allocate()
187 return (data); in __archive_write_program_allocate()
194 __archive_write_program_free(struct archive_write_program_data *data) in __archive_write_program_free() argument
197 if (data) { in __archive_write_program_free()
198 free(data->program_name); in __archive_write_program_free()
199 free(data->child_buf); in __archive_write_program_free()
200 free(data); in __archive_write_program_free()
207 struct archive_write_program_data *data, const char *cmd) in __archive_write_program_open() argument
211 if (data->child_buf == NULL) { in __archive_write_program_open()
212 data->child_buf_len = 65536; in __archive_write_program_open()
213 data->child_buf_avail = 0; in __archive_write_program_open()
214 data->child_buf = malloc(data->child_buf_len); in __archive_write_program_open()
216 if (data->child_buf == NULL) { in __archive_write_program_open()
223 ret = __archive_create_child(cmd, &data->child_stdin, in __archive_write_program_open()
224 &data->child_stdout, &data->child); in __archive_write_program_open()
235 struct archive_write_program_data *data, const char *buf, size_t buf_len) in child_write() argument
239 if (data->child_stdin == -1) in child_write()
247 ret = write(data->child_stdin, buf, buf_len); in child_write()
253 close(data->child_stdin); in child_write()
254 data->child_stdin = -1; in child_write()
255 fcntl(data->child_stdout, F_SETFL, 0); in child_write()
261 if (data->child_stdout == -1) { in child_write()
262 fcntl(data->child_stdin, F_SETFL, 0); in child_write()
263 __archive_check_child(data->child_stdin, in child_write()
264 data->child_stdout); in child_write()
269 ret = read(data->child_stdout, in child_write()
270 data->child_buf + data->child_buf_avail, in child_write()
271 data->child_buf_len - data->child_buf_avail); in child_write()
275 close(data->child_stdout); in child_write()
276 data->child_stdout = -1; in child_write()
277 fcntl(data->child_stdin, F_SETFL, 0); in child_write()
281 __archive_check_child(data->child_stdin, in child_write()
282 data->child_stdout); in child_write()
288 data->child_buf_avail += ret; in child_write()
291 data->child_buf, data->child_buf_avail); in child_write()
294 data->child_buf_avail = 0; in child_write()
303 struct archive_write_program_data *data, const void *buff, size_t length) in __archive_write_program_write() argument
308 if (data->child == 0) in __archive_write_program_write()
313 ret = child_write(f, data, buf, length); in __archive_write_program_write()
316 "Can't write to program: %s", data->program_name); in __archive_write_program_write()
330 struct archive_write_program_data *data) in __archive_write_program_close() argument
335 if (data->child == 0) in __archive_write_program_close()
339 close(data->child_stdin); in __archive_write_program_close()
340 data->child_stdin = -1; in __archive_write_program_close()
341 fcntl(data->child_stdout, F_SETFL, 0); in __archive_write_program_close()
345 bytes_read = read(data->child_stdout, in __archive_write_program_close()
346 data->child_buf + data->child_buf_avail, in __archive_write_program_close()
347 data->child_buf_len - data->child_buf_avail); in __archive_write_program_close()
355 "Error reading from program: %s", data->program_name); in __archive_write_program_close()
359 data->child_buf_avail += bytes_read; in __archive_write_program_close()
362 data->child_buf, data->child_buf_avail); in __archive_write_program_close()
367 data->child_buf_avail = 0; in __archive_write_program_close()
372 if (data->child_stdin != -1) in __archive_write_program_close()
373 close(data->child_stdin); in __archive_write_program_close()
374 if (data->child_stdout != -1) in __archive_write_program_close()
375 close(data->child_stdout); in __archive_write_program_close()
376 while (waitpid(data->child, &status, 0) == -1 && errno == EINTR) in __archive_write_program_close()
379 CloseHandle(data->child); in __archive_write_program_close()
381 data->child = 0; in __archive_write_program_close()
385 "Error closing program: %s", data->program_name); in __archive_write_program_close()