/
dieoska
/
ddnet
Обзор
Документация
Войти
/
dieoska
/
ddnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/engine/shared/csv.cpp
42 строки
819 B
heinrich5991
Make less headers depend on `<base/system.h>`
12 дек 2023, 01:52
12 дек 2023, 01:52
05af24a
Код
Авторство
О чём код?
#include "csv.h" #include <base/system.h> void CsvWrite(IOHANDLE File, int NumColumns, const char *const *ppColumns) { for(int i = 0; i < NumColumns; i++) { if(i != 0) { io_write(File, ",", 1); } const char *pColumn = ppColumns[i]; int ColumnLength = str_length(pColumn); if(!str_find(pColumn, "\"") && !str_find(pColumn, ",")) { io_write(File, pColumn, ColumnLength); continue; } int Start = 0; io_write(File, "\"", 1); for(int j = 0; j < ColumnLength; j++) { if(pColumn[j] == '"') { if(Start != j) { io_write(File, pColumn + Start, j - Start); } Start = j + 1; io_write(File, "\"\"", 2); } } if(Start != ColumnLength) { io_write(File, pColumn + Start, ColumnLength - Start); } io_write(File, "\"", 1); } io_write_newline(File); }