[1.5] Rework r2768 in fact getopt_long is slightly different on GNU. Adapt signature to handle BSD signature and GNU one.
Update issue 301
This commit is contained in:
parent
4f4de7070e
commit
dac95eff3a
|
@ -590,7 +590,8 @@ static int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *param
|
||||||
{"OutFor",REQ_ARG, NULL ,'O'},
|
{"OutFor",REQ_ARG, NULL ,'O'},
|
||||||
{"POC",REQ_ARG, NULL ,'P'},
|
{"POC",REQ_ARG, NULL ,'P'},
|
||||||
{"ROI",REQ_ARG, NULL ,'R'},
|
{"ROI",REQ_ARG, NULL ,'R'},
|
||||||
{"jpip",NO_ARG, NULL, 'J'}
|
{"jpip",NO_ARG, NULL, 'J'},
|
||||||
|
{0,0,0,0} /* GNU getopt_long requirement */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* parse the command line */
|
/* parse the command line */
|
||||||
|
@ -600,12 +601,16 @@ static int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *param
|
||||||
#endif /* USE_JPWL */
|
#endif /* USE_JPWL */
|
||||||
"h";
|
"h";
|
||||||
|
|
||||||
totlen=sizeof(long_option);
|
totlen=sizeof(long_option)-1;
|
||||||
img_fol->set_out_format=0;
|
img_fol->set_out_format=0;
|
||||||
raw_cp->rawWidth = 0;
|
raw_cp->rawWidth = 0;
|
||||||
|
|
||||||
do{
|
do{
|
||||||
|
#ifdef USE_SYSTEM_GETOPT
|
||||||
|
c = opj_getopt_long(argc, argv, optlist,long_option,0);
|
||||||
|
#else
|
||||||
c = opj_getopt_long(argc, argv, optlist,long_option,totlen);
|
c = opj_getopt_long(argc, argv, optlist,long_option,totlen);
|
||||||
|
#endif
|
||||||
if (c == -1)
|
if (c == -1)
|
||||||
break;
|
break;
|
||||||
switch (c) {
|
switch (c) {
|
||||||
|
|
|
@ -201,15 +201,20 @@ int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters,i
|
||||||
int totlen, c;
|
int totlen, c;
|
||||||
opj_option_t long_option[]={
|
opj_option_t long_option[]={
|
||||||
{"ImgDir",REQ_ARG, NULL ,'y'},
|
{"ImgDir",REQ_ARG, NULL ,'y'},
|
||||||
|
{0,0,0,0} /* GNU getopt_long requirement */
|
||||||
};
|
};
|
||||||
const char optlist[] = "i:o:h";
|
const char optlist[] = "i:o:h";
|
||||||
|
|
||||||
OPJ_ARG_NOT_USED(indexfilename);
|
OPJ_ARG_NOT_USED(indexfilename);
|
||||||
|
|
||||||
totlen=sizeof(long_option);
|
totlen=sizeof(long_option)-1;
|
||||||
img_fol->set_out_format = 0;
|
img_fol->set_out_format = 0;
|
||||||
do {
|
do {
|
||||||
|
#ifdef USE_SYSTEM_GETOPT
|
||||||
|
c = opj_getopt_long(argc, argv,optlist,long_option,0);
|
||||||
|
#else
|
||||||
c = opj_getopt_long(argc, argv,optlist,long_option,totlen);
|
c = opj_getopt_long(argc, argv,optlist,long_option,totlen);
|
||||||
|
#endif
|
||||||
if (c == -1)
|
if (c == -1)
|
||||||
break;
|
break;
|
||||||
switch (c) {
|
switch (c) {
|
||||||
|
|
|
@ -243,6 +243,7 @@ static int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *param
|
||||||
opj_option_t long_option[]={
|
opj_option_t long_option[]={
|
||||||
{"ImgDir",REQ_ARG, NULL ,'y'},
|
{"ImgDir",REQ_ARG, NULL ,'y'},
|
||||||
{"OutFor",REQ_ARG, NULL ,'O'},
|
{"OutFor",REQ_ARG, NULL ,'O'},
|
||||||
|
{0,0,0,0} /* GNU getopt_long requirement */
|
||||||
};
|
};
|
||||||
|
|
||||||
const char optlist[] = "i:o:r:l:x:"
|
const char optlist[] = "i:o:r:l:x:"
|
||||||
|
@ -253,10 +254,14 @@ static int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *param
|
||||||
#endif /* USE_JPWL */
|
#endif /* USE_JPWL */
|
||||||
/* <<UniPG */
|
/* <<UniPG */
|
||||||
"h" ;
|
"h" ;
|
||||||
totlen=sizeof(long_option);
|
totlen=sizeof(long_option) - 1;
|
||||||
img_fol->set_out_format = 0;
|
img_fol->set_out_format = 0;
|
||||||
do {
|
do {
|
||||||
|
#ifdef USE_SYSTEM_GETOPT
|
||||||
|
c = opj_getopt_long(argc, argv,optlist,long_option,0);
|
||||||
|
#else
|
||||||
c = opj_getopt_long(argc, argv,optlist,long_option,totlen);
|
c = opj_getopt_long(argc, argv,optlist,long_option,totlen);
|
||||||
|
#endif
|
||||||
if (c == -1)
|
if (c == -1)
|
||||||
break;
|
break;
|
||||||
switch (c) {
|
switch (c) {
|
||||||
|
|
|
@ -2,6 +2,25 @@
|
||||||
|
|
||||||
#include "opj_config.h"
|
#include "opj_config.h"
|
||||||
|
|
||||||
|
#ifdef USE_SYSTEM_GETOPT
|
||||||
|
#include <getopt.h>
|
||||||
|
|
||||||
|
#define opj_opterr opterr
|
||||||
|
#define opj_optind optind
|
||||||
|
#define opj_optopt optopt
|
||||||
|
#define opj_optreset optreset
|
||||||
|
#define opj_optarg optarg
|
||||||
|
|
||||||
|
typedef struct option opj_option_t;
|
||||||
|
|
||||||
|
#define NO_ARG no_argument
|
||||||
|
#define REQ_ARG required_argument
|
||||||
|
#define OPT_ARG optional_argument
|
||||||
|
|
||||||
|
#define opj_getopt getopt
|
||||||
|
#define opj_getopt_long getopt_long
|
||||||
|
|
||||||
|
#else
|
||||||
#ifndef _GETOPT_H_
|
#ifndef _GETOPT_H_
|
||||||
#define _GETOPT_H_
|
#define _GETOPT_H_
|
||||||
|
|
||||||
|
@ -17,19 +36,6 @@ typedef struct opj_option
|
||||||
#define REQ_ARG 1
|
#define REQ_ARG 1
|
||||||
#define OPT_ARG 2
|
#define OPT_ARG 2
|
||||||
|
|
||||||
#ifdef USE_SYSTEM_GETOPT
|
|
||||||
#include <getopt.h>
|
|
||||||
|
|
||||||
#define opj_opterr opterr
|
|
||||||
#define opj_optind optind
|
|
||||||
#define opj_optopt optopt
|
|
||||||
#define opj_optreset optreset
|
|
||||||
#define opj_optarg optarg
|
|
||||||
|
|
||||||
#define opj_getopt getopt
|
|
||||||
#define opj_getopt_long getopt_long
|
|
||||||
|
|
||||||
#else
|
|
||||||
extern int opj_opterr;
|
extern int opj_opterr;
|
||||||
extern int opj_optind;
|
extern int opj_optind;
|
||||||
extern int opj_optopt;
|
extern int opj_optopt;
|
||||||
|
@ -41,5 +47,5 @@ extern int opj_getopt_long(int argc, char * const argv[], const char *optstring,
|
||||||
const opj_option_t *longopts, int totlen);
|
const opj_option_t *longopts, int totlen);
|
||||||
extern void reset_options_reading(void);
|
extern void reset_options_reading(void);
|
||||||
|
|
||||||
#endif /* USE_SYSTEM_GETOPT */
|
|
||||||
#endif /* _GETOPT_H_ */
|
#endif /* _GETOPT_H_ */
|
||||||
|
#endif /* USE_SYSTEM_GETOPT */
|
||||||
|
|
Loading…
Reference in New Issue