From de8b542bdf9598e3e464e2cfdb9549be8dbca6a5 Mon Sep 17 00:00:00 2001 From: komutan Date: Mon, 1 Dec 2014 18:13:56 +0900 Subject: [PATCH] =?utf8?q?=E5=BE=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/LibNMeCabMMF/Extension/MeCabNodeExtension.cs | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/LibNMeCabMMF/Extension/MeCabNodeExtension.cs b/src/LibNMeCabMMF/Extension/MeCabNodeExtension.cs index 907f904..aa88151 100644 --- a/src/LibNMeCabMMF/Extension/MeCabNodeExtension.cs +++ b/src/LibNMeCabMMF/Extension/MeCabNodeExtension.cs @@ -95,25 +95,22 @@ namespace NMeCab.Extension private unsafe static string GetCsvElement(char* csvRow, int rowLength, int index) { char* end = csvRow + rowLength; + int count = 0; + int len = 0; - for (int i = 0; i < index; i++) + while (csvRow != end) { - while (*csvRow != ',') + if (*csvRow == ',') { - if (csvRow == end) return null; - csvRow++; + if (count == index) return new string(csvRow - len, 0, len); + count++; + len = 0; } - csvRow++; - } - - int len = 0; - while (csvRow != end && *csvRow != ',') - { len++; csvRow++; } - return new string(csvRow - len, 0, len); + return count == index ? new string(csvRow - len, 0, len) : null; } } } -- 2.11.0