Compiler fixes for gcc 10

This patch fixes a few compile warnings/errors that now occur when using gcc
10+.

Also, the Makefile.rules check to turn off partial inlining in gcc versions
greater or equal to 8.2.1 had a bug where it only it only checked against
versions with at least 3 numbers (ex: 8.2.1 vs 10). This patch now ensures
any version above the specified version is correctly compared.

Change-Id: I54718496eb0c3ce5bd6d427cd279a29e8d2825f9
This commit is contained in:
Kevin Harwell
2020-06-01 18:25:48 -05:00
committed by Friendly Automation
parent 559fa0e89c
commit 3d1bf3c537
23 changed files with 122 additions and 89 deletions

View File

@@ -163,12 +163,12 @@ static int load_config(void)
fprintf(stderr, "host needs an argument (the host) at line %d\n", lineno);
} else if (!strcasecmp(buf, "user")) {
if (val && strlen(val))
strncpy(user, val, sizeof(user) - 1);
snprintf(user, sizeof(user), "%s", val);
else
fprintf(stderr, "user needs an argument (the user) at line %d\n", lineno);
} else if (!strcasecmp(buf, "pass")) {
if (val && strlen(val))
strncpy(pass, val, sizeof(pass) - 1);
snprintf(pass, sizeof(pass), "%s", val);
else
fprintf(stderr, "pass needs an argument (the password) at line %d\n", lineno);
} else if (!strcasecmp(buf, "smoothfade")) {
@@ -639,24 +639,29 @@ static int wait_event(void)
return -1;
}
if (!strncasecmp(resp, "Event: ", strlen("Event: "))) {
strncpy(event, resp + strlen("Event: "), sizeof(event) - 1);
int event_len = -1;
int channel_len = -1;
int newname_len = -1;
int oldname_len = -1;
event_len = snprintf(event, sizeof(event), "%s", resp + strlen("Event: "));
/* Consume the rest of the non-event */
while((resp = get_line()) && strlen(resp)) {
if (!strncasecmp(resp, "Channel: ", strlen("Channel: ")))
strncpy(channel, resp + strlen("Channel: "), sizeof(channel) - 1);
channel_len = snprintf(channel, sizeof(channel), "%s", resp + strlen("Channel: "));
if (!strncasecmp(resp, "Newname: ", strlen("Newname: ")))
strncpy(newname, resp + strlen("Newname: "), sizeof(newname) - 1);
newname_len = snprintf(newname, sizeof(newname), "%s", resp + strlen("Newname: "));
if (!strncasecmp(resp, "Oldname: ", strlen("Oldname: ")))
strncpy(oldname, resp + strlen("Oldname: "), sizeof(oldname) - 1);
oldname_len = snprintf(oldname, sizeof(oldname), "%s", resp + strlen("Oldname: "));
}
if (strlen(channel)) {
if (!strcasecmp(event, "Hangup"))
if (channel_len == strlen(channel)) {
if (event_len == strlen(event) && !strcasecmp(event, "Hangup"))
hangup_chan(channel);
else
offhook_chan(channel);
}
if (strlen(newname) && strlen(oldname)) {
if (!strcasecmp(event, "Rename")) {
if (newname_len == strlen(newname) && oldname_len == strlen(oldname)) {
if (event_len == strlen(event) && !strcasecmp(event, "Rename")) {
hangup_chan(oldname);
offhook_chan(newname);
}