2
#include "../util/util.h"
4
#include "../fileio/wrfile.h"
7
extern char *realloc();
10
char *data_fork, *rsrc_fork;
11
int data_size, rsrc_size;
12
static int max_data_size, max_rsrc_size;
19
if(data_size >= max_data_size) {
20
if(max_data_size == 0) {
21
data_fork = malloc(1024);
23
data_fork = realloc(data_fork, (unsigned)max_data_size + 1024);
25
max_data_size += 1024;
26
if(data_fork == NULL) {
27
(void)fprintf(stderr, "Insufficient memory.\n");
31
data_fork[data_size++] = c;
33
if(rsrc_size >= max_rsrc_size) {
34
if(max_rsrc_size == 0) {
35
rsrc_fork = malloc(1024);
37
rsrc_fork = realloc(rsrc_fork, (unsigned)max_rsrc_size + 1024);
39
max_rsrc_size += 1024;
40
if(rsrc_fork == NULL) {
41
(void)fprintf(stderr, "Insufficient memory.\n");
45
rsrc_fork[rsrc_size++] = c;
65
start_info(info, (unsigned long)rsrc_size, (unsigned long)data_size);
68
copy(out_ptr, data_fork, data_size);
72
copy(out_ptr, rsrc_fork, rsrc_size);