GOL_FILE *GOL_open(struct GOL_STR_DIR *dir, const UCHAR *name) { GOL_FILE *gfp; UCHAR *fp; int size; fp = osain(name, &size); if (fp == NULL) return (GOL_FILE *) ~0; gfp = GOL_sysmalloc(sizeof (struct GOL_STR_FILE)); gfp->size = size; gfp->p0 = fp; gfp->linkcount = 1; return gfp; }
int gas2nask_main(struct STR_GAS2NASK *params) { UCHAR *p0, *f, *src0, i = 0; static UCHAR filename[1000]; struct STR_FLAGS flags; int j, size; errflag = 0; DRVOSA_errcode = 0; msgptr = params->err0; msgptr1 = params->err1; params->outname = NULL; for (j = 0; j < 8; j++) flags.opt[j] = 0; if (setjmp(setjmp_env)) { params->err0 = msgptr; params->errcode = DRVOSA_errcode; return GOL_abortcode; } p0 = params->cmdlin; while (*p0 > ' ') p0++; for (;;) { while (*p0 != '\0' && *p0 <= ' ') p0++; if (*p0 == '\0') break; if (*p0 == '-') { do { p0++; if (*p0 == 'a') flags.opt[FLAG_a] = 1; if (*p0 == 'e') flags.opt[FLAG_e] = 1; if (*p0 == 'd') { j = FLAG_d; getparam: do { p0++; } while (*p0 != '\0' && *p0 <= ' '); param_p[j] = p0; while ('0' <= *p0 && *p0 <= '9') p0++; flags.opt[j] = p0 - param_p[j]; p0--; /* 次のループのため */ } if (*p0 == 'b') { j = FLAG_b; goto getparam; } if (*p0 == 't') { j = FLAG_t; goto getparam; } if (*p0 == 'D') { j = FLAG_D; goto getparam; } if (*p0 == 'B') { j = FLAG_B; goto getparam; } if (*p0 == 'T') { j = FLAG_T; goto getparam; } } while (*p0 > ' '); continue; } f = filename; do { *f++ = *p0++; } while (*p0 > ' '); *f = '\0'; if (i == 0) { src0 = osain(filename, &size); if (src0 == NULL) errout_s_NL("can't open file: ", filename); } i++; } if (i != 2) { errout("\"gas2nask\" Copyright(C) 2004 H.Kawai" NL "usage : >gas2nask [-a] [-e] input-file output-file" NL ); } src0 = convmain(src0, src0 + size, params->dest0, params->dest1, flags); if (src0 == NULL) GOL_sysabort(GO_TERM_OUTOVER); params->outname = filename; params->dest0 = src0; GOLD_exit(errflag); }