📄 buffer.c
字号:
#include "globals.h"#include "../util/util.h"#include "buffer.h"#include "../fileio/wrfile.h"extern char *malloc();extern char *realloc();extern void exit();char *data_fork, *rsrc_fork;int data_size, rsrc_size;static int max_data_size, max_rsrc_size;static int do_data;void put_byte(c)char c;{ if(do_data) { if(data_size >= max_data_size) { if(max_data_size == 0) { data_fork = malloc(1024); } else { data_fork = realloc(data_fork, (unsigned)max_data_size + 1024); } max_data_size += 1024; if(data_fork == NULL) { (void)fprintf(stderr, "Insufficient memory.\n"); exit(1); } } data_fork[data_size++] = c; } else { if(rsrc_size >= max_rsrc_size) { if(max_rsrc_size == 0) { rsrc_fork = malloc(1024); } else { rsrc_fork = realloc(rsrc_fork, (unsigned)max_rsrc_size + 1024); } max_rsrc_size += 1024; if(rsrc_fork == NULL) { (void)fprintf(stderr, "Insufficient memory.\n"); exit(1); } } rsrc_fork[rsrc_size++] = c; }}void set_put(data)int data;{ do_data = data; if(do_data) { data_size = 0; } else { rsrc_size = 0; }}void end_put(){ if(info_only) { return; } start_info(info, (unsigned long)rsrc_size, (unsigned long)data_size); if(data_size != 0) { start_data(); copy(out_ptr, data_fork, data_size); } if(rsrc_size != 0) { start_rsrc(); copy(out_ptr, rsrc_fork, rsrc_size); } end_file();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -