minor changes and eliminate some compiler warnings
[asterisk/asterisk.git] / file.c
diff --git a/file.c b/file.c
index c4fac49..d48aaeb 100755 (executable)
--- a/file.c
+++ b/file.c
@@ -870,7 +870,8 @@ struct ast_filestream *ast_readfile(const char *filename, const char *type, cons
 struct ast_filestream *ast_writefile(const char *filename, const char *type, const char *comment, int flags, int check, mode_t mode)
 {
        int fd, myflags = 0;
-       FILE *bfile;
+       /* compiler claims this variable can be used before initialization... */
+       FILE *bfile = NULL;
        struct ast_format *f;
        struct ast_filestream *fs = NULL;
        char *fn, *orig_fn = NULL;
@@ -908,7 +909,7 @@ struct ast_filestream *ast_writefile(const char *filename, const char *type, con
                        }
                }
                
-               if (option_cache_record_files && fd >= 0) {
+               if (option_cache_record_files && (fd > -1)) {
                        char *c;
 
                        fclose(bfile);
@@ -923,8 +924,9 @@ struct ast_filestream *ast_writefile(const char *filename, const char *type, con
 
                        size = strlen(fn) + strlen(record_cache_dir) + 2;
                        buf = alloca(size);
-                       memset(buf, 0, size);
-                       snprintf(buf, size, "%s/%s", record_cache_dir, fn);
+                       strcpy(buf, record_cache_dir);
+                       strcat(buf, "/");
+                       strcat(buf, fn);
                        free(fn);
                        fn = buf;
                        fd = open(fn, flags | myflags, mode);
@@ -938,9 +940,8 @@ struct ast_filestream *ast_writefile(const char *filename, const char *type, con
                                }
                        }
                }
-               if (fd >= 0) {
+               if (fd > -1) {
                        errno = 0;
-
                        if ((fs = f->rewrite(bfile, comment))) {
                                fs->trans = NULL;
                                fs->fmt = f;