tonezone: Fix regression in Australian tone patch

Initialize db to 1.0 instead of doing it in a few, but not all, logic contexts.

Reported-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
Signed-off-by: Shaun Ruffell <sruffell@digium.com>
This commit is contained in:
Russ Meyerriecks 2014-08-19 15:22:30 -05:00 committed by Shaun Ruffell
parent 9aee76a3a5
commit 094bb2c1e8

View File

@ -89,7 +89,8 @@ static int build_tone(void *data, size_t size, struct tone_zone_sound *t, int *c
int firstnobang = -1; int firstnobang = -1;
int freq1, freq2, time; int freq1, freq2, time;
int modulate = 0; int modulate = 0;
float db, gain; float db = 1.0;
float gain;
int used = 0; int used = 0;
dup = strdup(t->data); dup = strdup(t->data);
s = strtok(dup, ","); s = strtok(dup, ",");
@ -112,16 +113,13 @@ static int build_tone(void *data, size_t size, struct tone_zone_sound *t, int *c
} else if (sscanf(s, "%d+%d", &freq1, &freq2) == 2) { } else if (sscanf(s, "%d+%d", &freq1, &freq2) == 2) {
PRINT_DEBUG("f1+f2 format: %d, %d\n", freq1, freq2); PRINT_DEBUG("f1+f2 format: %d, %d\n", freq1, freq2);
time = 0; time = 0;
db = 1.0;
} else if (sscanf(s, "%d*%d", &freq1, &freq2) == 2) { } else if (sscanf(s, "%d*%d", &freq1, &freq2) == 2) {
PRINT_DEBUG("f1+f2 format: %d, %d\n", freq1, freq2); PRINT_DEBUG("f1+f2 format: %d, %d\n", freq1, freq2);
modulate = 1; modulate = 1;
time = 0; time = 0;
db = 1.0;
} else if (sscanf(s, "%d/%d", &freq1, &time) == 2) { } else if (sscanf(s, "%d/%d", &freq1, &time) == 2) {
PRINT_DEBUG("f1/time format: %d, %d\n", freq1, time); PRINT_DEBUG("f1/time format: %d, %d\n", freq1, time);
freq2 = 0; freq2 = 0;
db = 1.0;
} else if (sscanf(s, "%d@/%d", &freq1, &time) == 2) { } else if (sscanf(s, "%d@/%d", &freq1, &time) == 2) {
/* The "@" character has been added to enable an /* The "@" character has been added to enable an
* approximately -20db tone generation of any frequency This has been done * approximately -20db tone generation of any frequency This has been done
@ -136,7 +134,6 @@ static int build_tone(void *data, size_t size, struct tone_zone_sound *t, int *c
firstnobang = *count; firstnobang = *count;
freq2 = 0; freq2 = 0;
time = 0; time = 0;
db = 1.0;
} else { } else {
fprintf(stderr, "tone component '%s' of '%s' is a syntax error\n", s,t->data); fprintf(stderr, "tone component '%s' of '%s' is a syntax error\n", s,t->data);
return -1; return -1;