/***************************************************************************** Major portions of this software are copyrighted by the Medical College of Wisconsin, 1994-2000, and are released under the Gnu General Public License, Version 2. See the file README.Copyright for details. ******************************************************************************/ #include "mrilib.h" /**-------------------------------------------------------------------- Check option # nopt to see if it is a legal dataset editing command. If so, put its value into "edopt" and return the number of options consumed. If not, return 0. An illegal editing option results in a fatal error! -----------------------------------------------------------------------**/ #define CHECK_DONE RETURN(nopt-nopt_in) int EDIT_check_argv( int argc , char * argv[] , int nopt , EDIT_options * edopt ) { float val ; int ival , nopt_in=nopt ; ENTRY("EDIT_check_argv") ; /**** -1clip val ****/ if( strncmp(argv[nopt],"-1clip" ,6) == 0 || strncmp(argv[nopt],"-1uclip",6) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"no argument after %s?\n",argv[nopt-1]) ; EXIT(1); } edopt->clip_top = strtod( argv[nopt++] , NULL ) ; if( edopt->clip_top <= 0 ){ fprintf(stderr,"illegal value after %s!\n",argv[nopt-2]) ; EXIT(1) ; } edopt->clip_bot = -edopt->clip_top ; edopt->clip_unscaled = (strncmp(argv[nopt-2],"-1uclip",6) == 0) ; CHECK_DONE ; } /**** -2clip val1 val2 ****/ if( strncmp(argv[nopt],"-2clip" ,6) == 0 || strncmp(argv[nopt],"-2uclip",6) == 0 ){ nopt++ ; if( nopt+1 >= argc ){ fprintf(stderr,"no arguments after %s?\n",argv[nopt-1]) ; EXIT(1) ; } edopt->clip_bot = strtod( argv[nopt++] , NULL ) ; /* bot */ edopt->clip_top = strtod( argv[nopt++] , NULL ) ; /* top */ if( edopt->clip_bot >= edopt->clip_top ){ fprintf(stderr, "*** %s %f %f is illegal:\n" "*** first value must be less than second value!\n", argv[nopt-3] , edopt->clip_bot , edopt->clip_top ) ; EXIT(1) ; } edopt->clip_unscaled = (strncmp(argv[nopt-3],"-2uclip",6) == 0) ; CHECK_DONE ; } /**** -1thtoin ****/ if( strncmp(argv[nopt],"-1thtoin",6) == 0 ){ edopt->thtoin = 1 ; nopt++ ; CHECK_DONE ; } /**** -2thtoin ****/ if( strncmp(argv[nopt],"-2thtoin",6) == 0 ){ edopt->thtoin = 2 ; nopt++ ; CHECK_DONE ; } /**** -1zscore (17 Sep 1998) ****/ if( strncmp(argv[nopt],"-1zscore",6) == 0 ){ edopt->zscore = 1 ; nopt++ ; CHECK_DONE ; } /**** -dxyz=1 (11 Sep 2000) ****/ if( strcmp(argv[nopt],"-dxyz=1") == 0 ){ edopt->fake_dxyz = 1 ; nopt++ ; CHECK_DONE ; } /**** -1noneg ****/ if( strncmp(argv[nopt],"-1noneg",6) == 0 ){ edopt->noneg = 1 ; nopt++ ; CHECK_DONE ; } /**** -1abs ****/ if( strncmp(argv[nopt],"-1abs",6) == 0 ){ edopt->abss = 1 ; nopt++ ; CHECK_DONE ; } /**** -1thresh thr ****/ if( strncmp(argv[nopt],"-1thresh",6) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"no argument after -1thresh!\n") ; EXIT(1); } val = strtod( argv[nopt++] , NULL ) ; if( val < 0.0 ){ fprintf(stderr,"illegal value after -1thresh!\n") ; EXIT(1) ; } edopt->thresh = val ; edopt->thbot = -val ; /* 26 Dec 2007 */ CHECK_DONE ; } /**** -2thresh bot top [26 Dec 2007] ****/ if( strncmp(argv[nopt],"-2thresh",6) == 0 ){ float v1,v2 ; nopt++ ; if( nopt+1 >= argc ){ fprintf(stderr,"need 2 arguments after -2thresh!\n") ; EXIT(1); } v1 = strtod( argv[nopt++] , NULL ) ; v2 = strtod( argv[nopt++] , NULL ) ; if( v1 >= v2 ) ERROR_exit("Illegal values after -2thresh") ; edopt->thresh = v2 ; edopt->thbot = v1 ; CHECK_DONE ; } /**** -1clust rmm vmul ****/ if( strncmp(argv[nopt],"-1clust",12) == 0 ){ nopt++ ; if( nopt+1 >= argc ){ fprintf(stderr,"need 2 arguments after -1clust!\n") ; EXIT(1) ; } edopt->edit_clust = ECFLAG_SAME; edopt->clust_rmm = strtod( argv[nopt++] , NULL ) ; edopt->clust_vmul = strtod( argv[nopt++] , NULL ) ; if( edopt->clust_rmm < 0 ){ fprintf(stderr,"illegal value after -1clust\n") ; EXIT(1) ; } CHECK_DONE ; } /**** -1clust_mean rmm vmul ****/ /* 10 Sept 1996 */ if( strncmp(argv[nopt],"-1clust_mean",12) == 0 ){ nopt++ ; if( nopt+1 >= argc ){ fprintf(stderr,"need 2 arguments after -1clust_mean!\n") ; EXIT(1) ; } edopt->edit_clust = ECFLAG_MEAN; edopt->clust_rmm = strtod( argv[nopt++] , NULL ) ; edopt->clust_vmul = strtod( argv[nopt++] , NULL ) ; if( edopt->clust_rmm < 0 ){ fprintf(stderr,"illegal value after -1clust_mean\n") ; EXIT(1) ; } CHECK_DONE ; } /**** -1clust_max rmm vmul ****/ /* 10 Sept 1996 */ if( strncmp(argv[nopt],"-1clust_max",12) == 0 ){ nopt++ ; if( nopt+1 >= argc ){ fprintf(stderr,"need 2 arguments after -1clust_max!\n") ; EXIT(1) ; } edopt->edit_clust = ECFLAG_MAX; edopt->clust_rmm = strtod( argv[nopt++] , NULL ) ; edopt->clust_vmul = strtod( argv[nopt++] , NULL ) ; if( edopt->clust_rmm < 0 ){ fprintf(stderr,"illegal value after -1clust_max\n") ; EXIT(1) ; } CHECK_DONE ; } /**** -1clust_amax rmm vmul ****/ /* 10 Sept 1996 */ if( strncmp(argv[nopt],"-1clust_amax",12) == 0 ){ nopt++ ; if( nopt+1 >= argc ){ fprintf(stderr,"need 2 arguments after -1clust_amax!\n") ; EXIT(1) ; } edopt->edit_clust = ECFLAG_AMAX; edopt->clust_rmm = strtod( argv[nopt++] , NULL ) ; edopt->clust_vmul = strtod( argv[nopt++] , NULL ) ; if( edopt->clust_rmm < 0 ){ fprintf(stderr,"illegal value after -1clust_amax\n") ; EXIT(1) ; } CHECK_DONE ; } /**** -1clust_smax rmm vmul ****/ /* 10 Sept 1996 */ if( strncmp(argv[nopt],"-1clust_smax",12) == 0 ){ nopt++ ; if( nopt+1 >= argc ){ fprintf(stderr,"need 2 arguments after -1clust_smax!\n") ; EXIT(1) ; } edopt->edit_clust = ECFLAG_SMAX; edopt->clust_rmm = strtod( argv[nopt++] , NULL ) ; edopt->clust_vmul = strtod( argv[nopt++] , NULL ) ; if( edopt->clust_rmm < 0 ){ fprintf(stderr,"illegal value after -1clust_smax\n") ; EXIT(1) ; } CHECK_DONE ; } /**** -1clust_size rmm vmul ****/ /* 10 Sept 1996 */ if( strncmp(argv[nopt],"-1clust_size",12) == 0 ){ nopt++ ; if( nopt+1 >= argc ){ fprintf(stderr,"need 2 arguments after -1clust_size!\n") ; EXIT(1) ; } edopt->edit_clust = ECFLAG_SIZE; edopt->clust_rmm = strtod( argv[nopt++] , NULL ) ; edopt->clust_vmul = strtod( argv[nopt++] , NULL ) ; if( edopt->clust_rmm < 0 ){ fprintf(stderr,"illegal value after -1clust_size\n") ; EXIT(1) ; } CHECK_DONE ; } /**** -1clust_order rmm vmul ****/ /* 09 June 1998 */ if( strncmp(argv[nopt],"-1clust_order",12) == 0 ){ nopt++ ; if( nopt+1 >= argc ){ fprintf(stderr,"need 2 arguments after -1clust_order!\n") ; EXIT(1) ; } edopt->edit_clust = ECFLAG_ORDER; edopt->clust_rmm = strtod( argv[nopt++] , NULL ) ; edopt->clust_vmul = strtod( argv[nopt++] , NULL ) ; if( edopt->clust_rmm < 0 ){ fprintf(stderr,"illegal value after -1clust_order\n") ; EXIT(1) ; } CHECK_DONE ; } /**** -1clust_depth rmm vmul ****/ /* 09 June 1998 */ if( strncmp(argv[nopt],"-1clust_depth",12) == 0 ){ nopt++ ; if( nopt+1 >= argc ){ fprintf(stderr,"need 2 arguments after -1clust_depth!\n") ; EXIT(1) ; } edopt->edit_clust = ECFLAG_DEPTH; edopt->clust_rmm = strtod( argv[nopt++] , NULL ) ; edopt->clust_vmul = strtod( argv[nopt++] , NULL ) ; if( edopt->clust_rmm < 0 ){ fprintf(stderr,"illegal value after -1clust_depth\n") ; EXIT(1) ; } CHECK_DONE ; } /**** 03 March 2010 ZSS: -isovalue and -isomerge ****/ if( strcmp(argv[nopt],"-isovalue") == 0 ){ edopt->isomode = ISOVALUE_MODE ; nopt++ ; CHECK_DONE; } if( strcmp(argv[nopt],"-isomerge") == 0 ){ edopt->isomode = ISOMERGE_MODE ; nopt++ ; CHECK_DONE ; } /**** -1erode pv ****/ /* 17 June 1998 */ if( strncmp(argv[nopt],"-1erode",7) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"need 1 argument after -1erode!\n") ; EXIT(1) ; } edopt->erode_pv = strtod( argv[nopt++] , NULL ) ; if (edopt->erode_pv > 1.0) edopt->erode_pv /= 100.0; if( edopt->erode_pv < 0.0 || edopt->erode_pv > 1.0 ){ fprintf(stderr,"illegal value after -1erode \n") ; EXIT(1) ; } CHECK_DONE ; } /**** -1dilate ****/ /* 17 June 1998 */ if( strncmp(argv[nopt],"-1dilate",8) == 0 ){ nopt++ ; edopt->dilate = 1; CHECK_DONE ; } /**** -1filter_mean rmm ****/ /* 11 Sept 1996 */ if( strncmp(argv[nopt],"-1filter_mean",15) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"need 1 argument after -1filter_mean \n") ; EXIT(1) ; } edopt->filter_opt = FCFLAG_MEAN; edopt->filter_rmm = strtod( argv[nopt++] , NULL ) ; if( edopt->filter_rmm <= 0 ){ fprintf(stderr,"illegal value after -1filter_mean \n") ; EXIT(1) ; } CHECK_DONE ; } /**** -1filter_nzmean rmm ****/ /* 11 Sept 1996 */ if( strncmp(argv[nopt],"-1filter_nzmean",15) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"need 1 argument after -1filter_nzmean \n") ; EXIT(1) ; } edopt->filter_opt = FCFLAG_NZMEAN; edopt->filter_rmm = strtod( argv[nopt++] , NULL ) ; if( edopt->filter_rmm <= 0 ){ fprintf(stderr,"illegal value after -1filter_nzmean \n") ; EXIT(1) ; } CHECK_DONE ; } /**** -1filter_max rmm ****/ /* 11 Sept 1996 */ if( strncmp(argv[nopt],"-1filter_max",15) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"need 1 argument after -1filter_max \n") ; EXIT(1) ; } edopt->filter_opt = FCFLAG_MAX; edopt->filter_rmm = strtod( argv[nopt++] , NULL ) ; if( edopt->filter_rmm <= 0 ){ fprintf(stderr,"illegal value after -1filter_max \n") ; EXIT(1) ; } CHECK_DONE ; } /**** -1filter_amax rmm ****/ /* 11 Sept 1996 */ if( strncmp(argv[nopt],"-1filter_amax",15) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"need 1 argument after -1filter_amax \n") ; EXIT(1) ; } edopt->filter_opt = FCFLAG_AMAX; edopt->filter_rmm = strtod( argv[nopt++] , NULL ) ; if( edopt->filter_rmm <= 0 ){ fprintf(stderr,"illegal value after -1filter_amax \n") ; EXIT(1) ; } CHECK_DONE ; } /**** -1filter_smax rmm ****/ /* 11 Sept 1996 */ if( strncmp(argv[nopt],"-1filter_smax",15) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"need 1 argument after -1filter_smax \n") ; EXIT(1) ; } edopt->filter_opt = FCFLAG_SMAX; edopt->filter_rmm = strtod( argv[nopt++] , NULL ) ; if( edopt->filter_rmm <= 0 ){ fprintf(stderr,"illegal value after -1filter_smax \n") ; EXIT(1) ; } CHECK_DONE ; } /**** -1filter_aver rmm ****/ /* 07 Jan 1998 */ if( strncmp(argv[nopt],"-1filter_aver",15) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"need 1 argument after -1filter_aver \n") ; EXIT(1) ; } edopt->filter_opt = FCFLAG_AVER ; edopt->filter_rmm = strtod( argv[nopt++] , NULL ) ; if( edopt->filter_rmm <= 0 ){ fprintf(stderr,"illegal value after -1filter_aver \n") ; EXIT(1) ; } if( edopt->nfmask > 0 ) edopt->filter_opt = FCFLAG_MEAN ; CHECK_DONE ; } /**** -t1filter_aver rmm ****/ /* 07 Jan 1998 */ if( strncmp(argv[nopt],"-t1filter_aver",15) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"need 1 argument after -t1filter_aver \n") ; EXIT(1) ; } edopt->thrfilter_opt = FCFLAG_AVER ; edopt->thrfilter_rmm = strtod( argv[nopt++] , NULL ) ; if( edopt->thrfilter_rmm <= 0 ){ fprintf(stderr,"illegal value after -t1filter_aver \n") ; EXIT(1) ; } if( edopt->nfmask > 0 ) edopt->thrfilter_opt = FCFLAG_MEAN ; CHECK_DONE ; } /**** -t1filter_mean rmm ****/ /* 1 Oct 1996 */ if( strncmp(argv[nopt],"-t1filter_mean",15) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"need 1 argument after -t1filter_mean \n") ; EXIT(1) ; } edopt->thrfilter_opt = FCFLAG_MEAN; edopt->thrfilter_rmm = strtod( argv[nopt++] , NULL ) ; if( edopt->thrfilter_rmm <= 0 ){ fprintf(stderr,"illegal value after -t1filter_mean \n") ; EXIT(1) ; } CHECK_DONE ; } /**** -t1filter_nzmean rmm ****/ /* 1 Oct 1996 */ if( strncmp(argv[nopt],"-t1filter_nzmean",15) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"need 1 argument after -t1filter_nzmean \n") ; EXIT(1) ; } edopt->thrfilter_opt = FCFLAG_NZMEAN; edopt->thrfilter_rmm = strtod( argv[nopt++] , NULL ) ; if( edopt->thrfilter_rmm <= 0 ){ fprintf(stderr,"illegal value after -t1filter_nzmean \n") ; EXIT(1) ; } CHECK_DONE ; } /**** -t1filter_max rmm ****/ /* 1 Oct 1996 */ if( strncmp(argv[nopt],"-t1filter_max",15) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"need 1 argument after -t1filter_max \n") ; EXIT(1) ; } edopt->thrfilter_opt = FCFLAG_MAX; edopt->thrfilter_rmm = strtod( argv[nopt++] , NULL ) ; if( edopt->thrfilter_rmm <= 0 ){ fprintf(stderr,"illegal value after -t1filter_max \n") ; EXIT(1) ; } CHECK_DONE ; } /**** -t1filter_amax rmm ****/ /* 1 Oct 1996 */ if( strncmp(argv[nopt],"-t1filter_amax",15) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"need 1 argument after -t1filter_amax \n") ; EXIT(1) ; } edopt->thrfilter_opt = FCFLAG_AMAX; edopt->thrfilter_rmm = strtod( argv[nopt++] , NULL ) ; if( edopt->thrfilter_rmm <= 0 ){ fprintf(stderr,"illegal value after -t1filter_amax \n") ; EXIT(1) ; } CHECK_DONE ; } /**** -t1filter_smax rmm ****/ /* 1 Oct 1996 */ if( strncmp(argv[nopt],"-t1filter_smax",15) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"need 1 argument after -t1filter_smax \n") ; EXIT(1) ; } edopt->thrfilter_opt = FCFLAG_SMAX; edopt->thrfilter_rmm = strtod( argv[nopt++] , NULL ) ; if( edopt->thrfilter_rmm <= 0 ){ fprintf(stderr,"illegal value after -t1filter_smax \n") ; EXIT(1) ; } CHECK_DONE ; } /**** -1blur_sigma size ****/ if( strncmp(argv[nopt],"-1blur_sigma",12) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"need argument after -1blur_sigma!\n") ; EXIT(1) ; } edopt->blur = strtod( argv[nopt++] , NULL ) ; if( edopt->blur <= 0 ){ fprintf(stderr,"illegal value after -1blur_sigma\n") ; EXIT(1) ; } CHECK_DONE ; } /**** -1blur_rms size ****/ if( strncmp(argv[nopt],"-1blur_rms",12) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"need argument after -1blur_rms!\n") ; EXIT(1) ; } edopt->blur = strtod( argv[nopt++] , NULL ) ; if( edopt->blur <= 0 ){ fprintf(stderr,"illegal value after -1blur_rms\n") ; EXIT(1) ; } edopt->blur = RMS_TO_SIGMA(edopt->blur) ; CHECK_DONE ; } /**** -1blur3D_fwhm xsize ysize zsize [17 Jun 2019] ****/ if( strncmp(argv[nopt],"-1blur3D_fwhm",13) == 0 ){ nopt++ ; if( nopt+2 >= argc ){ fprintf(stderr,"need 3 arguments after -1blur3D_fwhm!\n") ; EXIT(1) ; } edopt->blurx = strtod( argv[nopt++] , NULL ) ; edopt->blury = strtod( argv[nopt++] , NULL ) ; edopt->blurz = strtod( argv[nopt++] , NULL ) ; if( edopt->blurx <= 0.0f && edopt->blury <= 0.0f && edopt->blurz <= 0.0f ){ WARNING_message("-1blur3D_fwhm: all values are non-positive -- ignoring") ; } else { edopt->blurx = FWHM_TO_SIGMA(edopt->blurx) ; edopt->blury = FWHM_TO_SIGMA(edopt->blury) ; edopt->blurz = FWHM_TO_SIGMA(edopt->blurz) ; } CHECK_DONE ; } /**** -1blur_fwhm size ****/ if( strncmp(argv[nopt],"-1blur_fwhm",11) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"need argument after -1blur_fwhm!\n") ; EXIT(1) ; } edopt->blur = strtod( argv[nopt++] , NULL ) ; if( edopt->blur <= 0.0 ){ WARNING_message("-1blur_fwhm: blur value is non-positive -- ignoring") ; } else { edopt->blur = FWHM_TO_SIGMA(edopt->blur) ; } CHECK_DONE ; } #if 0 /**** -1blur ****/ if( strncmp(argv[nopt],"-1blur",6) == 0 ){ fprintf(stderr, "*** the old -1blur option is no longer valid! ***\n") ; EXIT(1) ; } #endif /**** -t1blur_sigma size ****/ /* 4 Oct 1996 */ if( strncmp(argv[nopt],"-t1blur_sigma",12) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"need argument after -t1blur_sigma!\n") ; EXIT(1) ; } edopt->thrblur = strtod( argv[nopt++] , NULL ) ; if( edopt->thrblur <= 0 ){ fprintf(stderr,"illegal value after -t1blur_sigma\n") ; EXIT(1) ; } CHECK_DONE ; } /**** -t1blur_rms size ****/ /* 4 Oct 1996 */ if( strncmp(argv[nopt],"-t1blur_rms",12) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"need argument after -t1blur_rms!\n") ; EXIT(1) ; } edopt->thrblur = strtod( argv[nopt++] , NULL ) ; if( edopt->thrblur <= 0 ){ fprintf(stderr,"illegal value after -t1blur_rms\n") ; EXIT(1) ; } edopt->thrblur = RMS_TO_SIGMA(edopt->thrblur) ; CHECK_DONE ; } /**** -t1blur_fwhm size ****/ /* 4 Oct 1996 */ if( strncmp(argv[nopt],"-t1blur_fwhm",12) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"need argument after -t1blur_fwhm!\n") ; EXIT(1) ; } edopt->thrblur = strtod( argv[nopt++] , NULL ) ; if( edopt->thrblur <= 0 ){ fprintf(stderr,"illegal value after -t1blur_fwhm\n") ; EXIT(1) ; } edopt->thrblur = FWHM_TO_SIGMA(edopt->thrblur) ; CHECK_DONE ; } /**** -1scale ****/ if( strncmp(argv[nopt],"-1scale",6) == 0 ){ #ifdef ALLOW_SCALE_TO_MAX edopt->scale = 1 ; #else fprintf(stderr, "*** the old -1scale option is no longer valid! ***\n") ; #endif nopt++ ; CHECK_DONE ; } /**** -1mult mult ****/ if( strncmp(argv[nopt],"-1mult",6) == 0 ){ nopt++ ; if( nopt >= argc ){ fprintf(stderr,"no argument after -1mult!\n") ; EXIT(1); } val = strtod( argv[nopt++] , NULL ) ; if( val == 0.0 ){ fprintf(stderr,"illegal value after -1mult!\n") ; EXIT(1) ; } edopt->mult = val ; CHECK_DONE ; } /**** -1zvol x1 x2 y1 y2 z1 z2 ***/ if( strncmp(argv[nopt],"-1zvol",6) == 0 ){ char * cerr ; if( nopt+6 >= argc ){ fprintf(stderr,"need 6 arguments after -1zvol!\a\n") ; EXIT(1) ; } edopt->zv_x1 = strtod( argv[nopt+1] , &cerr ) ; if( cerr == argv[nopt+1] ){ fprintf(stderr,"illegal 1st argument after -1zvol!\a\n") ; EXIT(1) ; } edopt->zv_x2 = strtod( argv[nopt+2] , &cerr ) ; if( cerr == argv[nopt+2] ){ fprintf(stderr,"illegal 2nd argument after -1zvol!\a\n") ; EXIT(1) ; } edopt->zv_y1 = strtod( argv[nopt+3] , &cerr ) ; if( cerr == argv[nopt+3] ){ fprintf(stderr,"illegal 3rd argument after -1zvol!\a\n") ; EXIT(1) ; } edopt->zv_y2 = strtod( argv[nopt+4] , &cerr ) ; if( cerr == argv[nopt+4] ){ fprintf(stderr,"illegal 4th argument after -1zvol!\a\n") ; EXIT(1) ; } edopt->zv_z1 = strtod( argv[nopt+5] , &cerr ) ; if( cerr == argv[nopt+5] ){ fprintf(stderr,"illegal 5th argument after -1zvol!\a\n") ; EXIT(1) ; } edopt->zv_z2 = strtod( argv[nopt+6] , &cerr ) ; if( cerr == argv[nopt+6] ){ fprintf(stderr,"illegal 6th argument after -1zvol!\a\n") ; EXIT(1) ; } edopt->do_zvol = 1 ; nopt += 7 ; CHECK_DONE ; } RETURN( 0 ); }