[prevent] fix dead code & null-terminate string
authordahyeong.kim <dahyeong.kim@samsung.com>
Mon, 15 Apr 2013 01:27:40 +0000 (10:27 +0900)
committerdahyeong.kim <dahyeong.kim@samsung.com>
Mon, 15 Apr 2013 01:27:40 +0000 (10:27 +0900)
Change-Id: Id3d8ec58c3c2ddc31fceb4fe57feb87f0e3f37a6
Signed-off-by: dahyeong.kim <dahyeong.kim@samsung.com>
src/base/utility/FBaseUtil_ScannerImpl.cpp

index 0d70dbe..b0d19dc 100644 (file)
@@ -78,7 +78,7 @@ result _ScannerImpl::Construct(const String& filePath, const String& encodingSch
        long int readCnt = 0;
 
        pFilePath = _StringConverter::CopyToCharArrayN(filePath);
-       SysTryReturnResult(NID_BASE_UTIL, pFilePath != null, r = GetLastResult(), "File path length < 0 or E_OUT_OF_MEMORY");
+       SysTryReturnResult(NID_BASE_UTIL, pFilePath != null, GetLastResult(), "File path length < 0 or E_OUT_OF_MEMORY");
 
        res = converter.OpenConverter(encodingScheme);
        r = GetLastResult();
@@ -92,20 +92,20 @@ result _ScannerImpl::Construct(const String& filePath, const String& encodingSch
        SysTryCatch(NID_BASE_UTIL, retVal != 0, r = E_IO, E_IO,
                        "[%s] Failed to get information about the file.", GetErrorMessage(__ConvertNativeErrorToResult(errno)));
 
-       fileSize = st.st_size;
+       fileSize = st.st_size + 1;      // +1 for null-terminated string
 
        buffer = static_cast<char*>(calloc(fileSize, sizeof(char)));
        SysTryCatch(NID_BASE_UTIL, buffer != null, r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY]");
-       readCnt = fread(buffer, 1, fileSize, pFile);
+       readCnt = fread(buffer, 1, fileSize - 1, pFile);
 
        if (readCnt < fileSize)
        {
                int ret = ferror(pFile);
-               SysTryCatch(NID_BASE_UTIL, ret != 0, r = E_IO, E_IO, "[E_IO] Failed to perform read operation.");
+               SysTryCatch(NID_BASE_UTIL, ret != 0, r = E_IO, E_IO, "[%s] Failed to perform read operation.", GetErrorMessage(E_IO));
        }
 
        __pParseStr = converter.ConvertToUcharN(buffer, fileSize);
-       SysTryCatch(NID_BASE_UTIL, __pParseStr != null, r = E_IO, E_IO , "[E_IO] charcater conversion failed.");
+       SysTryCatch(NID_BASE_UTIL, __pParseStr != null, r = E_IO, E_IO , "[%s] charcater conversion failed.", GetErrorMessage(E_IO));
        __isAllocatedOnHeap = true;
 
 CATCH:
@@ -143,7 +143,7 @@ bool _ScannerImpl::HasNextToken(const String& pattern)
        int length = 0;
 
        r = GetNextToken(pattern, token, length);
-       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_DATA_NOT_FOUND, "[E_DATA_NOT_FOUND] Can not get the next token");
+       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_DATA_NOT_FOUND, "[%s] Can not get the next token", GetErrorMessage(E_DATA_NOT_FOUND));
 
        return true;
 }
@@ -179,13 +179,12 @@ result _ScannerImpl::GetNextToken(const String& pattern, String& nextStr)
        String anyPattern(ANY_PATTERN);
 
        r = GetNextToken(anyPattern, str1, length);
-       SysTryReturnResult(NID_BASE_UTIL, ((r == E_SUCCESS) || (r == E_DATA_NOT_ENOUGH)), E_DATA_NOT_ENOUGH, "Input has no remaining tokens");
+       SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS || r == E_DATA_NOT_ENOUGH, E_DATA_NOT_ENOUGH, "Input has no remaining tokens");
 
        SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_DATA_NOT_FOUND, "The next token does not match to the pattern");
 
        r = GetNextToken(pattern, str2, length);
-       SysTryReturnResult(NID_BASE_UTIL, ((r != E_SUCCESS) && (r == E_DATA_NOT_ENOUGH)), E_DATA_NOT_ENOUGH,
-                       "[E_DATA_NOT_ENOUGH] Input has no remaining tokens");
+       SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS || r == E_DATA_NOT_ENOUGH, E_DATA_NOT_ENOUGH, "Input has no remaining tokens");
 
        SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_DATA_NOT_FOUND, "The next token does not match to the pattern");
 
@@ -212,7 +211,7 @@ result _ScannerImpl::GetNextSignedChar(signed char& nextSignedChar, int radix)
        String pattern(ANY_PATTERN);
 
        r = GetNextToken(pattern, out, length);
-       SysTryReturnResult(NID_BASE_UTIL, ((r == E_SUCCESS) || (r == E_DATA_NOT_ENOUGH)), E_DATA_NOT_ENOUGH, "Input has no remaining tokens");
+       SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS || r == E_DATA_NOT_ENOUGH, E_DATA_NOT_ENOUGH, "Input has no remaining tokens");
 
        SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_NUM_FORMAT, "Can not parse the token to signed char");
 /*     if(out.GetLength() > 1)
@@ -243,7 +242,7 @@ bool _ScannerImpl::IsNextTokenConvertibleToSignedChar(int radix)
        char ch = 0;
 
        r = GetNextToken(pattern, out, length);
-       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get the next token as signed char");
+       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get the next token as signed char", GetErrorMessage(E_NUM_FORMAT));
 
 /*     if(out.GetLength() > 1)
        {
@@ -251,7 +250,7 @@ bool _ScannerImpl::IsNextTokenConvertibleToSignedChar(int radix)
        }*/
 
        r = Int8::Parse(out, radix, ch);
-       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not parse the token to signed char");
+       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not parse the token to signed char", GetErrorMessage(E_NUM_FORMAT));
 
        return true;
 }
@@ -269,7 +268,7 @@ result _ScannerImpl::GetNextInt(int& nextInt, int radix)
        String pattern(ANY_PATTERN);
 
        r = GetNextToken(pattern, out, length);
-       SysTryReturnResult(NID_BASE_UTIL, ((r == E_SUCCESS) || (r == E_DATA_NOT_ENOUGH)), E_DATA_NOT_ENOUGH, "Input has no remaining tokens");
+       SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS || r == E_DATA_NOT_ENOUGH, E_DATA_NOT_ENOUGH, "Input has no remaining tokens");
 
        SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_NUM_FORMAT, "Can not parse the token to integer");
 
@@ -296,11 +295,11 @@ bool _ScannerImpl::IsNextTokenConvertibleToInt(int radix)
        String pattern(ANY_PATTERN);
 
        r = GetNextToken(pattern, out, length);
-       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get the next token as integer");
+       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get the next token as integer", GetErrorMessage(E_NUM_FORMAT));
 
        out.Replace(DEFAULT_GROUP_SEPARATOR, L"");
        r = Integer::Parse(out, radix, val);
-       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next Integer");
+       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get next Integer", GetErrorMessage(E_NUM_FORMAT));
 
        return true;
 }
@@ -318,7 +317,7 @@ result _ScannerImpl::GetNextShort(short& nextShort, int radix)
        String pattern(ANY_PATTERN);
 
        r = GetNextToken(pattern, out, length);
-       SysTryReturnResult(NID_BASE_UTIL, ((r == E_SUCCESS) || (r == E_DATA_NOT_ENOUGH)), E_DATA_NOT_ENOUGH, "Input has no remaining tokens");
+       SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS || r == E_DATA_NOT_ENOUGH, E_DATA_NOT_ENOUGH, "Input has no remaining tokens");
 
        SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_NUM_FORMAT, "Can not parse the token to short");
 
@@ -345,11 +344,11 @@ bool _ScannerImpl::IsNextTokenConvertibleToShort(int radix)
        String pattern(ANY_PATTERN);
 
        r = GetNextToken(pattern, out, length);
-       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next token as short");
+       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get next token as short", GetErrorMessage(E_NUM_FORMAT));
 
        out.Replace(DEFAULT_GROUP_SEPARATOR, L"");
        r = Short::Parse(out, radix, val);
-       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next short");
+       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get next short", GetErrorMessage(E_NUM_FORMAT));
 
        return true;
 }
@@ -362,7 +361,7 @@ result _ScannerImpl::GetNextLongLong(long long& nextLongLong)
        String pattern(ANY_PATTERN);
 
        r = GetNextToken(pattern, out, length);
-       SysTryReturnResult(NID_BASE_UTIL, ((r == E_SUCCESS) || (r == E_DATA_NOT_ENOUGH)), E_DATA_NOT_ENOUGH, "Input has no remaining tokens");
+       SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS || r == E_DATA_NOT_ENOUGH, E_DATA_NOT_ENOUGH, "Input has no remaining tokens");
 
        SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_NUM_FORMAT, "Can not parse the token to long long");
 
@@ -384,10 +383,10 @@ bool _ScannerImpl::IsNextTokenConvertibleToLongLong(void)
        String pattern(ANY_PATTERN);
 
        r = GetNextToken(pattern, out, length);
-       SysTryReturn(NID_BASE_UTIL, (r == E_SUCCESS), false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next token as long long");
+       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next token as long long");
 
        r = LongLong::Parse(out, val);
-       SysTryReturn(NID_BASE_UTIL, (r == E_SUCCESS), false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next long long");
+       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next long long");
 
        return true;
 }
@@ -400,7 +399,7 @@ result _ScannerImpl::GetNextFloat(float& nextFloat)
        String pattern(ANY_PATTERN);
 
        r = GetNextToken(pattern, out, length);
-       SysTryReturnResult(NID_BASE_UTIL, ((r == E_SUCCESS) || (r == E_DATA_NOT_ENOUGH)), E_DATA_NOT_ENOUGH, "Input has no remaining tokens");
+       SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS || r == E_DATA_NOT_ENOUGH, E_DATA_NOT_ENOUGH, "Input has no remaining tokens");
 
        SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_NUM_FORMAT, "Can not parse the token to float");
 
@@ -424,11 +423,11 @@ bool _ScannerImpl::IsNextTokenConvertibleToFloat(void)
        String pattern(ANY_PATTERN);
 
        r = GetNextToken(pattern, out, length);
-       SysTryReturn(NID_BASE_UTIL, (r == E_SUCCESS), false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next token as float");
+       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get next token as float", GetErrorMessage(E_NUM_FORMAT));
 
        out.Replace(DEFAULT_GROUP_SEPARATOR, L"");
        r = Float::Parse(out, val);
-       SysTryReturn(NID_BASE_UTIL, (r == E_SUCCESS), false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next float");
+       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get next float", GetErrorMessage(E_NUM_FORMAT));
 
        return true;
 }
@@ -441,7 +440,7 @@ result _ScannerImpl::GetNextDouble(double& nextDouble)
        String pattern(ANY_PATTERN);
 
        r = GetNextToken(pattern, out, length);
-       SysTryReturnResult(NID_BASE_UTIL, ((r == E_SUCCESS) || (r == E_DATA_NOT_ENOUGH)), E_DATA_NOT_ENOUGH, "Input has no remaining tokens");
+       SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS || r == E_DATA_NOT_ENOUGH, E_DATA_NOT_ENOUGH, "Input has no remaining tokens");
 
        SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_NUM_FORMAT, "Can not parse the token to double");
 
@@ -463,11 +462,11 @@ bool _ScannerImpl::IsNextTokenConvertibleToDouble(void)
        String pattern(ANY_PATTERN);
 
        r = GetNextToken(pattern, out, length);
-       SysTryReturn(NID_BASE_UTIL, (r == E_SUCCESS), false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next token as double");
+       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get next token as double", GetErrorMessage(E_NUM_FORMAT));
 
        out.Replace(DEFAULT_GROUP_SEPARATOR, L"");
        r = Double::Parse(out, val);
-       SysTryReturn(NID_BASE_UTIL, (r == E_SUCCESS), false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next token");
+       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get next token", GetErrorMessage(E_NUM_FORMAT));
 
        return true;
 }
@@ -480,13 +479,13 @@ result _ScannerImpl::GetNextBool(bool& nextBool)
        String pattern(ANY_PATTERN);
 
        r = GetNextToken(pattern, out, length);
-       SysTryReturnResult(NID_BASE_UTIL, ((r == E_SUCCESS) || (r == E_DATA_NOT_ENOUGH)), E_DATA_NOT_ENOUGH, "Input has no remaining tokens");
+       SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS || r == E_DATA_NOT_ENOUGH, E_DATA_NOT_ENOUGH, "Input has no remaining tokens");
 
        SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_NUM_FORMAT, "Can not parse the token to bool");
 
        String temp;
        r = out.ToUpper(temp);
-       SysTryReturnResult(NID_BASE_UTIL, (r == E_SUCCESS), E_NUM_FORMAT, "Can not get next bool");
+       SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_NUM_FORMAT, "Can not get next bool");
 
        if(!temp.CompareTo(L"TRUE"))
        {
@@ -515,7 +514,7 @@ bool _ScannerImpl::IsNextTokenConvertibleToBool(void)
        String pattern(ANY_PATTERN);
 
        r = GetNextToken(pattern, out, length);
-       SysTryReturn(NID_BASE_UTIL, (r == E_SUCCESS), false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next token as bool");
+       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get next token as bool", GetErrorMessage(E_NUM_FORMAT));
 
        String temp;
        out.ToUpper(temp);
@@ -540,13 +539,13 @@ bool _ScannerImpl::HasNextLine(void)
        bool res = false;
 
        r = regex.Construct(pattern, REGEX_UNICODE);
-       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_DATA_NOT_ENOUGH, "[E_DATA_NOT_ENOUGH] Regular expression construction failed");
+       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_DATA_NOT_ENOUGH, "[%s] Regular expression construction failed", GetErrorMessage(E_DATA_NOT_ENOUGH));
 
        r = matchedStrList.Construct();
-       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_DATA_NOT_ENOUGH, "[E_DATA_NOT_ENOUGH] Arraylist construction failed");
+       SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_DATA_NOT_ENOUGH, "[%s] Arraylist construction failed", GetErrorMessage(E_DATA_NOT_ENOUGH));
 
        res = regex.Match(String(__pParseStr + __position), false, &matchedStrList);
-       SysTryReturn(NID_BASE_UTIL, (res == true), false, E_DATA_NOT_ENOUGH, "[E_DATA_NOT_ENOUGH] Match Failed");
+       SysTryReturn(NID_BASE_UTIL, res == true, false, E_DATA_NOT_ENOUGH, "[%s] Match Failed", GetErrorMessage(E_DATA_NOT_ENOUGH));
 
        return res;
 }
@@ -568,7 +567,7 @@ result _ScannerImpl::GetNextLine(String& nextLine)
        SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_DATA_NOT_ENOUGH, "Arraylist construction failed");
 
        res = regex.Match(String(__pParseStr + __position), false, &matchedStrList);
-       SysTryReturnResult(NID_BASE_UTIL, (res == true), E_DATA_NOT_ENOUGH, "Match Failed");
+       SysTryReturnResult(NID_BASE_UTIL, res == true, E_DATA_NOT_ENOUGH, "Match Failed");
 
        matches = matchedStrList.GetCount();
        if(matches > 0)
@@ -603,7 +602,7 @@ result _ScannerImpl::FindInLine(const String& str, String& MatchedStr)
        SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_DATA_NOT_FOUND, "Arraylist construction failed");
 
        res = regex.Match(String(__pParseStr + __position), false, &matchedStrList);
-       SysTryReturnResult(NID_BASE_UTIL, (res == true), E_DATA_NOT_FOUND, "Match Failed");
+       SysTryReturnResult(NID_BASE_UTIL, res == true, E_DATA_NOT_FOUND, "Match Failed");
 
        matches = matchedStrList.GetCount();
        if(matches > 0)