Resolve constant conditional expression warning.

- Working towards issue #11.

- I felt that the macro was a little bit too clever in hiding the if-else
  statements so I removed that aspect, which also has the minor benefit of not
  requiring the starting if (0) statement.
This commit is contained in:
Ari Koivula 2014-04-04 12:20:17 +03:00
parent b19e4f3f2d
commit 7239b59e94

View file

@ -170,37 +170,36 @@ static int config_parse(config *cfg, const char *name, const char *value)
value = atobool(value) ? "false" : "true"; value = atobool(value) ? "false" : "true";
} }
#define OPT(STR) else if (!strcmp(name, STR)) #define OPT(STR) (!strcmp(name, STR))
if (0); if OPT("input")
OPT("input")
cfg->input = copy_string(value); cfg->input = copy_string(value);
OPT("output") else if OPT("output")
cfg->output = copy_string(value); cfg->output = copy_string(value);
OPT("debug") else if OPT("debug")
cfg->debug = copy_string(value); cfg->debug = copy_string(value);
OPT("width") else if OPT("width")
cfg->width = atoi(value); cfg->width = atoi(value);
OPT("height") else if OPT("height")
cfg->height = atoi(value); cfg->height = atoi(value);
OPT("input-res") { else if OPT("input-res") {
if (2 != sscanf(value, "%dx%d", &cfg->width, &cfg->height)) { if (2 != sscanf(value, "%dx%d", &cfg->width, &cfg->height)) {
cfg->width = cfg->height = 0; cfg->width = cfg->height = 0;
} }
} }
OPT("frames") else if OPT("frames")
cfg->frames = atoi(value); cfg->frames = atoi(value);
OPT("qp") else if OPT("qp")
cfg->qp = atoi(value); cfg->qp = atoi(value);
OPT("period") else if OPT("period")
cfg->intra_period = atoi(value); cfg->intra_period = atoi(value);
OPT("ref") { else if OPT("ref") {
cfg->ref_frames = atoi(value); cfg->ref_frames = atoi(value);
if (cfg->ref_frames < 1 || cfg->ref_frames >= MAX_REF_PIC_COUNT) { if (cfg->ref_frames < 1 || cfg->ref_frames >= MAX_REF_PIC_COUNT) {
fprintf(stderr, "--ref out of range [1..15], set to 3\n"); fprintf(stderr, "--ref out of range [1..15], set to 3\n");
cfg->ref_frames = 3; cfg->ref_frames = 3;
} }
} }
OPT("deblock") { else if OPT("deblock") {
int beta, tc; int beta, tc;
if (2 == sscanf(value, "%d:%d", &beta, &tc)) { if (2 == sscanf(value, "%d:%d", &beta, &tc)) {
cfg->deblock_enable = 1; cfg->deblock_enable = 1;
@ -222,13 +221,13 @@ static int config_parse(config *cfg, const char *name, const char *value)
cfg->deblock_tc = 0; cfg->deblock_tc = 0;
} }
} }
OPT("sao") else if OPT("sao")
cfg->sao_enable = atobool(value); cfg->sao_enable = atobool(value);
OPT("rdoq") else if OPT("rdoq")
cfg->rdoq_enable = atobool(value); cfg->rdoq_enable = atobool(value);
OPT("transform-skip") else if OPT("transform-skip")
cfg->trskip_enable = atobool(value); cfg->trskip_enable = atobool(value);
OPT("sar") { else if OPT("sar") {
int sar_width, sar_height; int sar_width, sar_height;
if (2 == sscanf(value, "%d:%d", &sar_width, &sar_height)) { if (2 == sscanf(value, "%d:%d", &sar_width, &sar_height)) {
cfg->vui.sar_width = sar_width; cfg->vui.sar_width = sar_width;
@ -236,30 +235,30 @@ static int config_parse(config *cfg, const char *name, const char *value)
} else } else
error = 1; error = 1;
} }
OPT("overscan") else if OPT("overscan")
error = !parse_enum(value, overscan_names, &cfg->vui.overscan); error = !parse_enum(value, overscan_names, &cfg->vui.overscan);
OPT("videoformat") else if OPT("videoformat")
error = !parse_enum(value, videoformat_names, &cfg->vui.videoformat); error = !parse_enum(value, videoformat_names, &cfg->vui.videoformat);
OPT("range") else if OPT("range")
error = !parse_enum(value, range_names, &cfg->vui.fullrange); error = !parse_enum(value, range_names, &cfg->vui.fullrange);
OPT("colorprim") else if OPT("colorprim")
error = !parse_enum(value, colorprim_names, &cfg->vui.colorprim); error = !parse_enum(value, colorprim_names, &cfg->vui.colorprim);
OPT("transfer") else if OPT("transfer")
error = !parse_enum(value, transfer_names, &cfg->vui.transfer); error = !parse_enum(value, transfer_names, &cfg->vui.transfer);
OPT("colormatrix") else if OPT("colormatrix")
error = !parse_enum(value, colormatrix_names, &cfg->vui.colormatrix); error = !parse_enum(value, colormatrix_names, &cfg->vui.colormatrix);
OPT("chromaloc") { else if OPT("chromaloc") {
cfg->vui.chroma_loc = atoi(value); cfg->vui.chroma_loc = atoi(value);
if (cfg->vui.chroma_loc < 0 || cfg->vui.chroma_loc > 5) { if (cfg->vui.chroma_loc < 0 || cfg->vui.chroma_loc > 5) {
fprintf(stderr, "--chromaloc parameter out of range [0..5], set to 0\n"); fprintf(stderr, "--chromaloc parameter out of range [0..5], set to 0\n");
cfg->vui.chroma_loc = 0; cfg->vui.chroma_loc = 0;
} }
} }
OPT("aud") else if OPT("aud")
cfg->aud_enable = atobool(value); cfg->aud_enable = atobool(value);
OPT("cqmfile") else if OPT("cqmfile")
cfg->cqmfile = copy_string(value); cfg->cqmfile = copy_string(value);
OPT("seek") else if OPT("seek")
cfg->seek = atoi(value); cfg->seek = atoi(value);
else else
return 0; return 0;