37 #define RE_BEG "^begin(-base64){0,1}[ \t]{1,}[0]{0,1}[0-7]{3,3}[ \t]{1,}[^ \t\r\n]{1,}" 40 #define REGCOMP_FLAGS (REG_ICASE | REG_NEWLINE | REG_EXTENDED) 43 #define REGEXEC_FLAGS (REG_NOTBOL | REG_NOTEOL) 45 #define REGEXEC_FLAGS (0) 69 if ((*b < 0x20) || (*b > 0x5F))
77 for (p = b; *p != 0; p++)
78 if ((*p < 0x20) || (*p > 0x60))
80 printf(
" CHAR = %c %d\n", *p, *p);
84 if (strlen(b) != lc + 1)
87 #if CHECK_UU_LINE_LENGTH 100 uu_line_decode(b, line)
107 if ((line == NULL) || !is_uu_line(line))
122 for (; lc > 0; lc -= 4)
129 po[0] = ((pi[0] << 2) & 0xFC) | ((pi[1] >> 4) & 0x03);
130 po[1] = ((pi[1] << 4) & 0xF0) | ((pi[2] >> 2) & 0x0F);
131 po[2] = ((pi[2] << 6) & 0xC0) | ((pi[3] >> 0) & 0x3F);
152 regex_t re_beg, re_end;
164 regerror(r, &re_beg, sout,
sizeof (sout));
172 regerror(r, &re_end, sout,
sizeof (sout));
178 regmatch_t rm_beg, rm_end;
196 if (ok && (rm_end.rm_so > rm_beg.rm_eo))
199 size_t sz = rm_end.rm_so - rm_beg.rm_eo;
202 sz = rm_beg.rm_eo - rm_beg.rm_so;
203 if ((sz > 0) && (sz <
sizeof (line)))
208 strncpy(line, bufin + rm_beg.rm_so, sz);
211 p = line + strcspn(line,
" \t\r\n");
212 p += strspn(p,
" \t\r\n");
213 n = strcspn(p,
" \t\r\n");
214 if ((n > 0) && (n == strspn(p,
"01234567")))
219 memset(s, 0,
sizeof (s));
223 l = strtol(s, (
char **) NULL, 8);
224 if ((errno == EINVAL) || (errno == ERANGE))
231 p += strspn(p,
" \t\r\n");
232 n = strcspn(p,
" \t\r\n");
236 if ((name = strdup(p)) == NULL)
241 sz = rm_end.rm_so - rm_beg.rm_eo;
242 pin = (
char *) malloc(sz + 1);
243 bufout = (
char *) malloc(sz + 1);
245 if ((pin != NULL) && (bufout != NULL))
250 memset(pin, 0, sz + 1);
251 strncpy(pin, bufin + rm_beg.rm_eo, sz);
253 p = pin + strspn(pin,
"\n\r");
262 if (is_uu_line(line))
264 memset(&uu, 0,
sizeof (uu));
265 if (uu_line_decode(&uu, line))
301 uublk->
size = sz_out;
306 return (bufout != NULL);
322 if ((fname == NULL) || (strlen(fname) == 0))
351 if (uublk->
buf != NULL)
354 if (uublk->
name != NULL)
#define ZE_LogMsgError(level,...)
#define ZE_MessageInfo(level,...)
#define ZE_LogSysError(...)
char * buf_get_next_line(char *, char *, size_t)
char * read_text_file(char *, size_t *)