static aug_result run_BIN_(int argc, char* argv[], const char* archivename) { aug_mpool* mpool; int flags = 0; mode_t mode = 0; aug_mar* mar; int ch; switch (options_ & (READOPT_ | WRITEOPT_)) { case READOPT_: flags = AUG_RDONLY; break; case WRITEOPT_: flags = AUG_WRONLY; break; case READOPT_ | WRITEOPT_: flags = AUG_RDWR; break; } if (options_ & CREATEOPT_) { flags |= AUG_CREAT; mode = 0666; } mpool = aug_getmpool(aug_tlx); mar = aug_openmar_BIN(mpool, archivename, flags, mode); aug_release(mpool); if (!mar) { aug_perrinfo(aug_tlx, "aug_openmar() failed", NULL); return -1; } while (-1 != (ch = aug_getopt(argc, argv, OPTIONS_))) switch (ch) { case 'c': if (clear_(mar) < 0) { aug_perrinfo(aug_tlx, "failed to " CLEARTEXT_, NULL); goto fail; } break; case 'd': if (del_(mar, aug_optarg) < 0) { aug_perrinfo(aug_tlx, "failed to " DELTEXT_, NULL); goto fail; } break; case 'f': break; case 'g': if (get_(mar, aug_optarg) < 0) { aug_perrinfo(aug_tlx, "failed to " GETTEXT_, NULL); goto fail; } break; case 'i': if (insert_BIN_(mar, aug_optarg) < 0) { aug_perrinfo(aug_tlx, "failed to " INSERTTEXT_, NULL); goto fail; } break; case 'l': if (names_(mar) < 0) { aug_perrinfo(aug_tlx, "failed to " NAMESTEXT_, NULL); goto fail; } break; case 'n': size_(mar); break; case 'o': if (aug_compactmar(mar) < 0) { aug_perrinfo(aug_tlx, "failed to " COMPACTTEXT_, NULL); goto fail; } break; case 'p': if (put_BIN_(mar, aug_optarg) < 0) { aug_perrinfo(aug_tlx, "failed to " PUTTEXT_, NULL); goto fail; } break; case 't': if (list_(mar) < 0) { aug_perrinfo(aug_tlx, "failed to " LISTTEXT_, NULL); goto fail; } break; case 'x': if (extract_(mar, aug_optarg) < 0) { aug_perrinfo(aug_tlx, "failed to " EXTRACTTEXT_, NULL); goto fail; } break; case 'z': if (zero_(mar) < 0) { aug_perrinfo(aug_tlx, "failed to " ZEROTEXT_, NULL); goto fail; } break; case 'h': case '?': default: fprintf(stderr, "unexpected option [-%c]\n", aug_optopt); goto fail; } aug_release(mar); return 0; fail: aug_release(mar); return -1; }
doublereal Ionosphere::zero(real *delta) { return zero_(delta); } /* zero */