aboutsummaryrefslogtreecommitdiffstats
path: root/main/file.c
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2008-11-02 23:56:13 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2008-11-02 23:56:13 +0000
commitee246d0e0519c6aa7cb0aea17ea92c9a5c2dc16f (patch)
tree80dccc06626175232f48f4c2cde5b9f5ba602632 /main/file.c
parent11aedae560fa003f20ee8d7a02b7aa2fc17ae13a (diff)
import gcc 4.3.2 warning fixes from trunk, with a few changes specific to this branch
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@153710 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/file.c')
-rw-r--r--main/file.c24
1 files changed, 17 insertions, 7 deletions
diff --git a/main/file.c b/main/file.c
index a9b36e7f5..f6bdd7cf5 100644
--- a/main/file.c
+++ b/main/file.c
@@ -249,11 +249,18 @@ static char *build_filename(const char *filename, const char *ext)
if (!strcmp(ext, "wav49"))
ext = "WAV";
- if (filename[0] == '/')
- asprintf(&fn, "%s.%s", filename, ext);
- else
- asprintf(&fn, "%s/sounds/%s.%s",
- ast_config_AST_DATA_DIR, filename, ext);
+ if (filename[0] == '/') {
+ if (asprintf(&fn, "%s.%s", filename, ext) < 0) {
+ ast_log(LOG_WARNING, "asprintf() failed: %s\n", strerror(errno));
+ fn = NULL;
+ }
+ } else {
+ if (asprintf(&fn, "%s/sounds/%s.%s",
+ ast_config_AST_DATA_DIR, filename, ext) < 0) {
+ ast_log(LOG_WARNING, "asprintf() failed: %s\n", strerror(errno));
+ fn = NULL;
+ }
+ }
return fn;
}
@@ -1187,8 +1194,11 @@ static int waitstream_core(struct ast_channel *c, const char *breakon,
break;
case AST_FRAME_VOICE:
/* Write audio if appropriate */
- if (audiofd > -1)
- write(audiofd, fr->data.ptr, fr->datalen);
+ if (audiofd > -1) {
+ if (write(audiofd, fr->data.ptr, fr->datalen) < 0) {
+ ast_log(LOG_WARNING, "write() failed: %s\n", strerror(errno));
+ }
+ }
default:
/* Ignore all others */
break;