]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Output newline after json output in mod_json_cdr
authorTravis Cross <tc@traviscross.com>
Sun, 2 Mar 2014 22:20:20 +0000 (22:20 +0000)
committerTravis Cross <tc@traviscross.com>
Mon, 3 Mar 2014 01:13:39 +0000 (01:13 +0000)
In UNIX, text files by definition end with a newline.

src/mod/event_handlers/mod_json_cdr/mod_json_cdr.c

index 2d08f5175aceeea2b119c30756c312fd7d770029..df9336f302f24fb4387a14e85e203aeb721a251f 100644 (file)
@@ -217,6 +217,8 @@ static void backup_cdr(cdr_data_t *data)
                                        switch_ssize_t wrote = 0, x;
                                        do { x = write(fd, json_text, json_len);
                                        } while (!(x<0) && json_len > (wrote += x));
+                                       if (!(x<0)) do { x = write(fd, "\n", 1);
+                                               } while (!(x<0) && x<1);
                                        close(fd); fd = -1;
                                        if (x < 0) {
                                                switch_log_printf(SWITCH_CHANNEL_UUID_LOG(data->uuid), SWITCH_LOG_ERROR, "Error writing [%s]\n",path);
@@ -281,6 +283,8 @@ static void process_cdr(cdr_data_t *data)
                                switch_ssize_t wrote = 0, x;
                                do { x = write(fd, data->json_text, json_len);
                                } while (!(x<0) && json_len > (wrote += x));
+                               if (!(x<0)) do { x = write(fd, "\n", 1);
+                                       } while (!(x<0) && x<1);
                                close(fd); fd = -1;
                                if (x < 0) {
                                        switch_log_printf(SWITCH_CHANNEL_UUID_LOG(data->uuid), SWITCH_LOG_ERROR, "Error writing [%s]\n",path);