diff options
Diffstat (limited to 'src/csv.c')
-rw-r--r-- | src/csv.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/csv.c b/src/csv.c new file mode 100644 index 0000000..94d9a00 --- /dev/null +++ b/src/csv.c @@ -0,0 +1,30 @@ +/* Asterisk Manager Proxy + Copyright (c) 2005 David C. Troy <dave@popvox.com> + + This program is free software, distributed under the terms of + the GNU General Public License. + + CSV I/O Handler +*/ + +#include "astmanproxy.h" + +/* TODO: catch and expand/handle commas in output */ + +int _write(struct mansession *s, struct message *m) { + int i; + char outstring[MAX_LEN]; + + pthread_mutex_lock(&s->lock); + for (i=0; i<m->hdrcount; i++) { + sprintf(outstring, "\"%s\"", m->headers[i]); + if (i<m->hdrcount-1) + strcat(outstring, ", "); + ast_carefulwrite(s->fd, outstring, strlen(outstring), s->writetimeout); + } + ast_carefulwrite(s->fd, "\r\n\r\n", 4, s->writetimeout); + pthread_mutex_unlock(&s->lock); + + return 0; +} + |