1
#include "../fileio/machdr.h"
2
#include "../fileio/rdfile.h"
5
extern unsigned long binhex_crcinit;
6
extern unsigned long binhex_updcrc();
12
"!\"#$%&'()*+,-012345689@ABCDEFGHIJKLMNPQRSTUVXYZ[`abcdefhijklmpqr";
28
(void)printf("(This file must be converted; you knew that already.)\n");
36
dofork(data_fork, data_size);
37
dofork(rsrc_fork, rsrc_size);
49
n = file_info[I_NAMEOFF];
50
crc = binhex_updcrc(crc, file_info + I_NAMEOFF, n + 1);
51
for(i = 0; i <= n; i++) {
52
outbyte(file_info[I_NAMEOFF + i]);
55
crc = binhex_updcrc(crc, (char *)&n, 1);
57
crc = binhex_updcrc(crc, file_info + I_TYPEOFF, 4);
58
for(i = 0; i < 4; i++) {
59
outbyte(file_info[I_TYPEOFF + i]);
61
crc = binhex_updcrc(crc, file_info + I_AUTHOFF, 4);
62
for(i = 0; i < 4; i++) {
63
outbyte(file_info[I_AUTHOFF + i]);
65
crc = binhex_updcrc(crc, file_info + I_FLAGOFF, 2);
66
for(i = 0; i < 2; i++) {
67
outbyte(file_info[I_FLAGOFF + i]);
69
crc = binhex_updcrc(crc, file_info + I_DLENOFF, 4);
70
for(i = 0; i < 4; i++) {
71
outbyte(file_info[I_DLENOFF + i]);
73
crc = binhex_updcrc(crc, file_info + I_RLENOFF, 4);
74
for(i = 0; i < 4; i++) {
75
outbyte(file_info[I_RLENOFF + i]);
77
outbyte((int)(crc >> 8));
78
outbyte((int)(crc & 0xff));
81
void dofork(fork, size)
88
crc = binhex_updcrc(binhex_crcinit, fork, size);
89
for(i = 0; i < size; i++) {
92
outbyte((int)(crc >> 8));
93
outbyte((int)(crc & 0xff));
100
if(dorep && (b == rep_char)) {
101
if(++rep_count == 254) {
111
outbyte1(rep_count + 1);
113
while(rep_count-- > 0) {
134
outbyte1(rep_count + 1);
136
while(rep_count-- > 0) {
143
out6bit(savebits << 4);
146
out6bit(savebits << 2);
163
b |= (savebits << 8);
169
b |= (savebits << 8);
180
outchar(codes[c & 0x3f]);