aboutsummaryrefslogtreecommitdiffstats
path: root/agi/eagi-sphinx-test.c
diff options
context:
space:
mode:
Diffstat (limited to 'agi/eagi-sphinx-test.c')
-rw-r--r--agi/eagi-sphinx-test.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/agi/eagi-sphinx-test.c b/agi/eagi-sphinx-test.c
index d2898763c..4d13db507 100644
--- a/agi/eagi-sphinx-test.c
+++ b/agi/eagi-sphinx-test.c
@@ -79,7 +79,9 @@ static int read_environment(void)
char *val;
/* Read environment */
for(;;) {
- fgets(buf, sizeof(buf), stdin);
+ if (!fgets(buf, sizeof(buf), stdin)) {
+ return -1;
+ }
if (feof(stdin))
return -1;
buf[strlen(buf) - 1] = '\0';
@@ -130,7 +132,9 @@ static char *wait_result(void)
return NULL;
}
if (FD_ISSET(STDIN_FILENO, &fds)) {
- fgets(astresp, sizeof(astresp), stdin);
+ if (!fgets(astresp, sizeof(astresp), stdin)) {
+ return NULL;
+ }
if (feof(stdin)) {
fprintf(stderr, "Got hungup on apparently\n");
return NULL;
@@ -141,9 +145,10 @@ static char *wait_result(void)
}
if (FD_ISSET(AUDIO_FILENO, &fds)) {
res = read(AUDIO_FILENO, audiobuf, sizeof(audiobuf));
- if (res > 0) {
- if (sphinx_sock > -1)
- write(sphinx_sock, audiobuf, res);
+ if ((res > 0) && (sphinx_sock > -1)) {
+ if (write(sphinx_sock, audiobuf, res) < 0) {
+ fprintf(stderr, "write() failed: %s\n", strerror(errno));
+ }
}
}
if ((sphinx_sock > -1) && FD_ISSET(sphinx_sock, &fds)) {