Escape token for output as CSV string.
| 726 | |
| 727 | // Escape token for output as CSV string. |
| 728 | static void CSV_escape(FILE *out, const char *token) |
| 729 | { |
| 730 | const char *p; |
| 731 | // start CSV string: |
| 732 | fputc('"', out); |
| 733 | for (p = token; *p; p++) { |
| 734 | if (*p == '\n') { |
| 735 | fputs("\\n", out); |
| 736 | continue; |
| 737 | } |
| 738 | if (*p == '"') |
| 739 | fputc('"', out); |
| 740 | fputc(*p, out); |
| 741 | } |
| 742 | // end CSV string: |
| 743 | fputc('"', out); |
| 744 | } |
| 745 | |
| 746 | // Escape token for output as JSON string. |
| 747 | static void JSON_escape(FILE *out, const char *token) |