1 /* Demo Recorder for MAEMO 5
2 * Copyright (C) 2010 Dru Moore <usr@dru-id.co.uk>
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2,
5 * or (at your option) any later version, as published by the Free
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details
13 * You should have received a copy of the GNU General Public
14 * License along with this program; if not, write to the
15 * Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 public static class CdlParser : Object {
22 const unichar CHAR_DLM = ',';
23 const unichar CHAR_ESC = '\"';
24 const unichar CHAR_EOL = '\n';
26 public static string[] ParseLine(string line) {
32 StringBuilder buffer = new StringBuilder();
35 while ((c = line[pos]) != CHAR_EOL && !in_esc && pos < line.length) {
38 // if we are already escaped add to buffer
40 buffer.append_unichar(c);
43 // else enter escape mode
49 // add the buffer to list and clear the buffer
54 // normal char to add to buffer
55 buffer.append_unichar(c);
60 // check for data left floating over
61 if (0 < buffer.len) values += buffer.str;