Fix for issue 4133431 "Remove OSAL layer" in engine part

Change-Id: I79efc956aa0d23fb333d12c8947b48455b7524d1
diff --git a/libvideoeditor/osal/inc/M4OSA_CharStar.h b/libvideoeditor/osal/inc/M4OSA_CharStar.h
index b51af23..abd6c9f 100755
--- a/libvideoeditor/osal/inc/M4OSA_CharStar.h
+++ b/libvideoeditor/osal/inc/M4OSA_CharStar.h
@@ -55,46 +55,9 @@
 M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrNCopy          (M4OSA_Char   *strOut,
                                    M4OSA_Char   *strIn,
                                    M4OSA_UInt32 len2Copy);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrNCat           (M4OSA_Char   *strOut,
-                                   M4OSA_Char   *strIn,
-                                   M4OSA_UInt32 len2Append);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrCompare        (M4OSA_Char   *strIn1,
-                                   M4OSA_Char   *strIn2,
-                                   M4OSA_Int32  *cmpResult);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrNCompare       (M4OSA_Char   *strIn1,
-                                   M4OSA_Char   *strIn2,
-                                   M4OSA_UInt32 len2Comp,
-                                   M4OSA_Int32  *cmpResult);
 M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrAreIdentical   (M4OSA_Char   *strIn1,
                                    M4OSA_Char   *strIn2,
                                    M4OSA_Bool  *result);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrFindChar       (M4OSA_Char   *strIn,
-                                   M4OSA_Char   c,
-                                   M4OSA_Char   **pointerInStr);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrReverseFindChar(M4OSA_Char   *strIn,
-                                   M4OSA_Char   c,
-                                   M4OSA_Char   **pointerInStr);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrSpan           (M4OSA_Char   *strIn,
-                                   M4OSA_Char   *delimiters,
-                                   M4OSA_UInt32 *posInStr);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrSpanComplement (M4OSA_Char   *strIn,
-                                   M4OSA_Char   *delimiters,
-                                   M4OSA_UInt32 *posInStr);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrPbrk           (M4OSA_Char   *strIn,
-                                   M4OSA_Char   *delimiters,
-                                   M4OSA_Char   **pointerInStr);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrFindPattern    (M4OSA_Char   *strIn1,
-                                   M4OSA_Char   *strIn2,
-                                   M4OSA_Char   **pointerInStr1);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_UInt32 M4OSA_chrLength      (M4OSA_Char   *strIn);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_Char   M4OSA_chrToLower     (M4OSA_Char   cIn);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_Char   M4OSA_chrToUpper     (M4OSA_Char   cIn);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR    M4OSA_chrGetWord     (M4OSA_Char   *strIn,
-                                   M4OSA_Char   *beginDelimiters,
-                                   M4OSA_Char   *endDelimiters,
-                                   M4OSA_Char   *strOut,
-                                   M4OSA_UInt32 *strOutMaxLen,
-                                   M4OSA_Char   **outputPointer);
 M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrGetUInt32      (M4OSA_Char   *strIn,
                                    M4OSA_UInt32 *val,
                                    M4OSA_Char   **strOut,
@@ -103,37 +66,6 @@
                                    M4OSA_UInt16 *val,
                                    M4OSA_Char   **strOut,
                                    M4OSA_chrNumBase base);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrGetUInt8       (M4OSA_Char   *strIn,
-                                   M4OSA_UInt8  *val,
-                                   M4OSA_Char   **strOut,
-                                   M4OSA_chrNumBase base);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrGetInt64       (M4OSA_Char   *strIn,
-                                   M4OSA_Int64  *val,
-                                   M4OSA_Char   **strOut,
-                                   M4OSA_chrNumBase base);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrGetInt32       (M4OSA_Char   *strIn,
-                                   M4OSA_Int32  *val,
-                                   M4OSA_Char   **strOut,
-                                   M4OSA_chrNumBase base);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrGetInt16       (M4OSA_Char   *strIn,
-                                   M4OSA_Int16  *val,
-                                   M4OSA_Char   **strOut,
-                                   M4OSA_chrNumBase base);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrGetInt8        (M4OSA_Char   *strIn,
-                                   M4OSA_Int8   *val,
-                                   M4OSA_Char   **strOut,
-                                   M4OSA_chrNumBase base);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrGetDouble      (M4OSA_Char   *strIn,
-                                   M4OSA_Double *val,
-                                   M4OSA_Char   **strOut);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrGetTime        (M4OSA_Char   *strIn,
-                                   M4OSA_Time   *val,
-                                   M4OSA_Char   **strOut,
-                                   M4OSA_chrNumBase base);
-M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrGetFilePosition(M4OSA_Char   *strIn,
-                                   M4OSA_FilePosition *val,
-                                   M4OSA_Char   **strOut,
-                                   M4OSA_chrNumBase base);
 M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrSPrintf         (M4OSA_Char  *strOut,
                                    M4OSA_UInt32 strOutMaxLen,
                                    M4OSA_Char   *format,
diff --git a/libvideoeditor/osal/inc/M4OSA_Types.h b/libvideoeditor/osal/inc/M4OSA_Types.h
index 250f131..6fcf475 100755
--- a/libvideoeditor/osal/inc/M4OSA_Types.h
+++ b/libvideoeditor/osal/inc/M4OSA_Types.h
@@ -29,6 +29,8 @@
 #define M4OSA_TYPES_H
 
 #include <ctype.h>
+#include <stdio.h>
+#include <string.h>
 #include "M4OSA_Export.h"
 #ifdef __cplusplus
 extern "C" {
diff --git a/libvideoeditor/osal/src/Android.mk b/libvideoeditor/osal/src/Android.mk
index f90429e..1b21079 100755
--- a/libvideoeditor/osal/src/Android.mk
+++ b/libvideoeditor/osal/src/Android.mk
@@ -28,18 +28,12 @@
 LOCAL_SRC_FILES:=          \

     M4OSA_CharStar.c \

     M4OSA_Clock.c \

-    M4OSA_FileCache.c \

     M4OSA_FileCommon.c \

-    M4OSA_FileExtra.c \

     M4OSA_FileReader.c \

-    M4OSA_FileReader_RAM.c \

     M4OSA_FileWriter.c \

-    M4OSA_FileWriter_RAM.c \

     M4OSA_Mutex.c \

     M4OSA_Random.c \

     M4OSA_Semaphore.c \

-    M4OSA_String.c \

-    M4OSA_String_priv.c \

     M4OSA_Thread.c \

     M4PSW_DebugTrace.c \

     M4PSW_MemoryInterface.c \

diff --git a/libvideoeditor/osal/src/M4OSA_CharStar.c b/libvideoeditor/osal/src/M4OSA_CharStar.c
index 4a865c1..083e3f2 100755
--- a/libvideoeditor/osal/src/M4OSA_CharStar.c
+++ b/libvideoeditor/osal/src/M4OSA_CharStar.c
@@ -76,114 +76,6 @@
 
 /**
  ************************************************************************
- * @brief      This function mimics the functionality of the libc's strncat().
- * @note       It appends at most len2Append characters from pStrIn to the end
- *             of pStrOut. The initial character of pStrIn overrides the null
- *             character at the end of pStrOut. THIS LAST NULL CHARACTER IN
- *             pStrOut MUST BE PRESENT.
- *             - If a null character appears in pStrIn before len2Append
- *               characters are appended, the function appends all characters
- *               from pStrIn, up to this M4OSA_NULL character.
- *             - If len2Append is greater than the length of pStrIn, the length
- *               of pStrIn is used in place of len2Append. The resulting string
- *               is terminated with a null character.
- *             - pStrOut and pStrIn MUST NOT OVERLAP (this is NOT CHECKED).
- * @param      pStrOut: (OUT) Destination character string.
- * @param      pStrIn: (IN) character string to append.
- * @param      len2Append: (IN) Max number of characters from pStrIn to append.
- * @return     M4NO_ERROR: there is no error.
- * @return     M4ERR_PARAMETER: pStrIn or pStrOut is M4OSA_NULL.
-  ************************************************************************
-*/
-M4OSA_ERR M4OSA_chrNCat(M4OSA_Char* pStrOut, M4OSA_Char* pStrIn,
-                                                        M4OSA_UInt32 len2Append)
-{
-    M4OSA_TRACE1_3("M4OSA_chrNCat\t(M4OSA_Char* %x,M4OSA_Char* %x,M4OSA_UInt32 %ld)",
-                            pStrOut,pStrIn,len2Append);
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrOut, M4ERR_PARAMETER,
-                                       "M4OSA_chrNCat:\tpStrOut is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn,M4ERR_PARAMETER,
-                                        "M4OSA_chrNCat:\tpStrIn is M4OSA_NULL");
-
-    strncat((char *)pStrOut, (const char*)pStrIn, (size_t)len2Append);
-
-    return M4NO_ERROR;
-}
-
-/**
- ************************************************************************
- * @brief      This function mimics the functionality of the libc's strcmp().
- * @note       It compares pStrIn1 and pStrIn2 lexicographically.
- *             The value returned in cmpResult is greater than, equal to, or
- *             less than 0, if the string pointed to by pStrIn1 is greater than,
- *             equal to, or less than the string pointed to by pStrIn2
- *             respectively. The sign of a non-zero return value is determined
- *             by the sign of the difference between the values of the first
- *             pair of bytes that differ in the strings being compared.
- * @param      pStrIn1: (IN) First character string.
- * @param      pStrIn2: (IN) Second character string.
- * @param      cmpResult: (OUT) Comparison result.
- * @return     M4NO_ERROR: there is no error.
- * @return     M4ERR_PARAMETER: pStrIn1 pStrIn2 or cmpResult is M4OSA_NULL.
-  ************************************************************************
-*/
-M4OSA_ERR M4OSA_chrCompare(M4OSA_Char* pStrIn1, M4OSA_Char* pStrIn2,
-                                                        M4OSA_Int32* pCmpResult)
-{
-    M4OSA_TRACE1_3("M4OSA_chrCompare\t(M4OSA_Char* %x,M4OSA_Char* %x,M4OSA_Int32* %x)",
-                    pStrIn1,pStrIn2,pCmpResult);
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn1, M4ERR_PARAMETER,
-                                     "M4OSA_chrCompare:\tstrIn1 is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn2, M4ERR_PARAMETER,
-                                     "M4OSA_chrCompare:\tstrIn2 is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pCmpResult, M4ERR_PARAMETER,
-                                  "M4OSA_chrCompare:\tcmpResult is M4OSA_NULL");
-
-    *pCmpResult = (M4OSA_Int32)strcmp((const char *)pStrIn1, (const char *)pStrIn2);
-
-    return M4NO_ERROR;
-}
-
-/**
- ************************************************************************
-  * @brief      This function mimics the functionality of the libc's strncmp().
- * @note       It lexicographically compares at most the first len2Comp
- *             characters in pStrIn1 and pStrIn2.
- *             The value returned in cmpResult is greater than, equal to, or
- *             less than 0, if the first len2Comp characters of the string
- *             pointed to by pStrIn1 is greater than, equal to, or less than the
- *             first len2Comp characters of the string pointed to by pStrIn2
- *             respectively. The sign of a non-zero return value is determined
- *             by the sign of the difference between the values of the first
- *             pair of bytes that differ in the strings being compared.
- * @param      pStrIn1: (IN) First character string.
- * @param      pStrIn2: (IN) Second character string.
- * @param      len2Comp: (IN) Length used for the comparison.
- * @param      cmpResult: (OUT) Comparison result.
- * @return     M4NO_ERROR: there is no error.
- * @return     M4ERR_PARAMETER: pStrIn1 pStrIn2 or cmpResult is M4OSA_NULL.
-  ************************************************************************
-*/
-M4OSA_ERR M4OSA_chrNCompare(M4OSA_Char* pStrIn1,M4OSA_Char* pStrIn2,
-                            M4OSA_UInt32 len2Comp, M4OSA_Int32* pCmpResult)
-{
-    M4OSA_TRACE1_4("M4OSA_chrNCompare\t(M4OSA_Char* %x,M4OSA_Char* %x,"
-        "M4OSA_Int32 %ld, M4OSA_Int32* %x)",pStrIn1,pStrIn2,len2Comp,pCmpResult);
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn1,M4ERR_PARAMETER,
-                                   "M4OSA_chrNCompare:\tpStrIn1 is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn2,M4ERR_PARAMETER,
-                                   "M4OSA_chrNCompare:\tpStrIn2 is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pCmpResult,M4ERR_PARAMETER,
-                                "M4OSA_chrNCompare:\tpCmpResult is M4OSA_NULL");
-
-    *pCmpResult = (M4OSA_Int32)strncmp((const char*)pStrIn1, (const char*)pStrIn2,
-                                                              (size_t)len2Comp);
-
-    return M4NO_ERROR;
-}
-
-/**
- ************************************************************************
   * @brief      This function returns the boolean comparison of pStrIn1 and pStrIn2.
  * @note       The value returned in result is M4OSA_TRUE if the string
  *             pointed to by pStrIn1 is strictly identical to the string pointed
@@ -229,331 +121,6 @@
     return M4NO_ERROR;
 }
 
-/**
- ************************************************************************
- * @brief      This function mimics the functionality of the libc's strchr().
- * @note       It finds the first occurrence (i.e. starting from the beginning
- *             of the string) of c in pStrIn and set *pPointerInStr to this
- *             position.
- *             If no occurrence is found, *pPointerInStr is set to M4OSA_NULL.
- * @param      pStrIn: (IN) Character string where to search.
- * @param      c: (IN) Character to search.
- * @param      pPointerInStr: (OUT) pointer on the first occurrence of c.
- * @return     M4NO_ERROR: there is no error.
- * @return     M4ERR_PARAMETER: pStrIn or pPointerInStr is M4OSA_NULL.
- * @return     M4WAR_CHR_NOT_FOUND: no occurrence of c found.
-  ************************************************************************
-*/
-M4OSA_ERR M4OSA_chrFindChar (M4OSA_Char* pStrIn, M4OSA_Char c,
-                                                            M4OSA_Char** pInStr)
-{
-    M4OSA_TRACE1_3("M4OSA_chrFindChar\t(M4OSA_Char* %x, M4OSA_Char %c"
-        "M4OSA_Char** %x)",pStrIn,c,pInStr);
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn,M4ERR_PARAMETER,
-                                    "M4OSA_chrFindChar:\tpStrIn is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pInStr,M4ERR_PARAMETER,
-                                    "M4OSA_chrFindChar:\tpInStr is M4OSA_NULL");
-
-    *pInStr = (M4OSA_Char*)strchr((const char *)pStrIn,(int)c);
-    if(M4OSA_NULL == *pInStr)
-    {
-        return M4WAR_CHR_NOT_FOUND;
-    }
-    else
-    {
-        return M4NO_ERROR;
-    }
-}
-
-/**
- ************************************************************************
- * @brief      This function mimics the functionality of the libc's strrchr().
- * @note       It finds the last occurrence (i.e. starting from the end of the
- *             string, backward) of c in pStrIn and set *pPointerInStr to this
- *             position.
- *             If no occurrence is found, *pPointerInStr is set to M4OSA_NULL.
- * @param      pStrIn: (IN) Character string where to search.
- * @param      c: (IN) Character to search.
- * @param      pPointerInStr: (OUT) pointer on the first occurrence of c.
- * @return     M4NO_ERROR: there is no error.
- * @return     M4ERR_PARAMETER: pStrIn or pPointerInStr is M4OSA_NULL.
- * @return     M4WAR_CHR_NOT_FOUND: no occurrence of c found.
- ************************************************************************
-*/
-M4OSA_ERR M4OSA_chrReverseFindChar(M4OSA_Char* pStrIn, M4OSA_Char c,M4OSA_Char** pInStr)
-{
-    M4OSA_TRACE1_3("M4OSA_chrReverseFindChar\t(M4OSA_Char* %x, M4OSA_Char %c"
-                        "M4OSA_Char** %x)",pStrIn,c,pInStr);
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn, M4ERR_PARAMETER,
-                             "M4OSA_chrReverseFindChar:\tpStrIn is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pInStr, M4ERR_PARAMETER,
-                             "M4OSA_chrReverseFindChar:\tpInStr is M4OSA_NULL");
-
-    *pInStr = (M4OSA_Char*)strrchr((const char *)pStrIn,(int)c);
-    if(M4OSA_NULL == *pInStr)
-    {
-        return M4WAR_CHR_NOT_FOUND;
-    }
-    else
-    {
-        return M4NO_ERROR;
-    }
-}
-
-/**
- ************************************************************************
- * @brief      This function mimics the functionality of the libc's strspn().
- * @note       It returns the length of the initial segment of string pStrIn
- *             that consists entirely of characters from string pDelimiters
- *             (it "spans" this set of characters).
- *             If no occurrence of any character present in pDelimiters is found
- *             at the beginning of pStrIn, *pPosInStr is M4OSA_NULL.
- * @param      pStrIn: (IN) Character string where to search.
- * @param      pDelimiters: (IN) Character string containing the set of
- *             characters to search.
- * @param      pPosInStr: (OUT) Length of the initial segment.
- * @return     M4NO_ERROR: there is no error.
- * @return     M4ERR_PARAMETER: pStrIn, pDelimiters or pPosInStr is M4OSA_NULL.
- ************************************************************************
-*/
-M4OSA_ERR M4OSA_chrSpan(M4OSA_Char* pStrIn,M4OSA_Char* pDelimiters,
-                                                        M4OSA_UInt32* pPosInStr)
-{
-    M4OSA_TRACE1_3("M4OSA_chrSpan\t(M4OSA_Char* %x,M4OSA_Char* %x"
-        "M4OSA_UInt32* %x)",pStrIn,pDelimiters,pPosInStr);
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn, M4ERR_PARAMETER,
-                                        "M4OSA_chrSpan:\tpStrIn is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pDelimiters, M4ERR_PARAMETER,
-                                   "M4OSA_chrSpan:\tpDelimiters is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pPosInStr, M4ERR_PARAMETER,
-                                     "M4OSA_chrSpan:\tpPosInStr is M4OSA_NULL");
-
-    *pPosInStr = (M4OSA_UInt32)strspn((const char *)pStrIn,
-                                                     (const char *)pDelimiters);
-
-    return M4NO_ERROR;
-}
-
-/**
- ************************************************************************
- * @brief      This function mimics the functionality of the libc's strcspn().
- * @note       It returns the length of the initial segment of string pStrIn
- *             that consists entirely of characters NOT from string delimiters
- *             (it spans the complement of this set of characters).
- *             If no occurrence of any character present in delimiters is found
- *             in pStrIn, *pPosInStr is set to the length of pStrIn.
- * @param      pStrIn: (IN) Character string where to search.
- * @param      delimiters: (IN) Character string containing the set of
- *             characters to search.
- * @param      pPosInStr: (OUT) Length of the initial segment.
- * @return     M4NO_ERROR: there is no error.
- * @return     M4ERR_PARAMETER: pStrIn, delimiters or pPosInStr is M4OSA_NULL.
- * @return     M4WAR_CHR_NOT_FOUND: no occurrence of any character present in
- *             delimiters has been found in pStrIn.
- ************************************************************************
-*/
-M4OSA_ERR M4OSA_chrSpanComplement (M4OSA_Char* pStrIn, M4OSA_Char* pDelimiters,
-                                                        M4OSA_UInt32* pPosInStr)
-{
-    M4OSA_TRACE1_3("M4OSA_chrSpanComplement\t(M4OSA_Char* %x,M4OSA_Char* %x"
-        "M4OSA_UInt32* %x)",pStrIn,pDelimiters,pPosInStr);
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn,M4ERR_PARAMETER,
-                              "M4OSA_chrSpanComplement:\tpStrIn is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pDelimiters,M4ERR_PARAMETER,
-                         "M4OSA_chrSpanComplement:\tpDelimiters is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pPosInStr,M4ERR_PARAMETER,
-                           "M4OSA_chrSpanComplement:\tpPosInStr is M4OSA_NULL");
-
-    *pPosInStr = (M4OSA_UInt32)strcspn((const char *)pStrIn,
-                                                     (const char *)pDelimiters);
-    if(*pPosInStr < (M4OSA_UInt32)strlen((const char *)pStrIn))
-    {
-        return M4NO_ERROR;
-    }
-    else
-    {
-        return M4WAR_CHR_NOT_FOUND;
-    }
-}
-
-/**
- ************************************************************************
- * @brief      This function mimics the functionality of the libc's strpbrk().
- * @note       It returns a pointer to the first occurrence in string pStrIn
- *             of any character from string pDelimiters, or a null pointer if
- *             no character from pDelimiters exists in pStrIn. In the latter
- *             case, WAR_NO_FOUND is returned.
- * @param      pStrIn: (IN) Character string where to search.
- * @param      pDelimiters: (IN) Character string containing the set of
- *             characters to search.
- * @param      pPointerInStr: (OUT) Pointer on the first character belonging to
- *             pDelimiters.
- * @return     M4NO_ERROR: there is no error.
- * @return     M4ERR_PARAMETER: pStrIn, pDelimiters or pPosInStr is M4OSA_NULL.
- * @return     M4WAR_CHR_NOT_FOUND: no occurrence of any character present in
- *             pDelimiters has been found in pStrIn.
- ************************************************************************
-*/
-M4OSA_ERR M4OSA_chrPbrk(M4OSA_Char* pStrIn, M4OSA_Char* pDelimiters,
-                                                     M4OSA_Char **pPointerInStr)
-{
-    M4OSA_TRACE1_3("M4OSA_chrPbrk\t(M4OSA_Char* %x,M4OSA_Char* %x"
-        "M4OSA_Char** %x)",pStrIn,pDelimiters,pPointerInStr);
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn,M4ERR_PARAMETER,
-                              "M4OSA_chrSpanComplement:\tpStrIn is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pDelimiters,M4ERR_PARAMETER,
-                         "M4OSA_chrSpanComplement:\tpDelimiters is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pPointerInStr,M4ERR_PARAMETER,
-                       "M4OSA_chrSpanComplement:\tpPointerInStr is M4OSA_NULL");
-
-    *pPointerInStr = (M4OSA_Char*)strpbrk((const char *)pStrIn,
-                                                     (const char *)pDelimiters);
-    if(M4OSA_NULL == *pPointerInStr)
-    {
-        return M4WAR_CHR_NOT_FOUND;
-    }
-    else
-    {
-        return M4NO_ERROR;
-    }
-}
-
-/**
- ************************************************************************
- * @brief      This function mimics the functionality of the libc's strstr().
- * @note       It locates the first occurrence of the string pStrIn2 (excluding
- *             the terminating null character) in string pStrIn1 and set
- *             pPointerInStr1 to the located string, or to a null pointer if the
- *             string is not found, in which case M4WAR_CHR_NOT_FOUND is
- *             returned. If pStrIn2 points to a string with zero length (that
- *             is, the string ""), the function returns pStrIn1.
- * @param      pStrIn1: (IN) Character string where to search.
- * @param      pStrIn2: (IN) Character string to search.
- * @param      pPointerInStr1: (OUT) Pointer on the first character of pStrIn2
- *             in pStrIn1.
- * @return     M4NO_ERROR: there is no error.
- * @return     M4ERR_PARAMETER: pStrIn1, pStrIn2 or pPointerInStr1 is M4OSA_NULL.
- * @return     M4WAR_CHR_NOT_FOUND: no occurrence of pStrIn2 has been found in
- *             pStrIn1.
- ************************************************************************
-*/
-M4OSA_ERR M4OSA_chrFindPattern(M4OSA_Char* pStrIn1, M4OSA_Char* pStrIn2,
-                                                    M4OSA_Char** pPointerInStr1)
-{
-    M4OSA_TRACE1_3("M4OSA_chrFindPattern\t(M4OSA_Char* %x,M4OSA_Char* %x"
-        "M4OSA_Char** %x)",pStrIn1,pStrIn2,pPointerInStr1);
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn1,M4ERR_PARAMETER,
-                                "M4OSA_chrFindPattern:\tpStrIn1 is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn2,M4ERR_PARAMETER,
-                                "M4OSA_chrFindPattern:\tpStrIn2 is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pPointerInStr1,M4ERR_PARAMETER,
-                         "M4OSA_chrFindPattern:\tpPointerInStr1 is M4OSA_NULL");
-
-    *pPointerInStr1 = (M4OSA_Char*)strstr((const char *)pStrIn1,
-                                                         (const char *)pStrIn2);
-    if(M4OSA_NULL == *pPointerInStr1)
-    {
-        return M4WAR_CHR_NOT_FOUND;
-    }
-    else
-    {
-        return M4NO_ERROR;
-    }
-}
-
-/**
- ************************************************************************
- * @brief      This function mimics the functionality of the libc's strlen().
- * @note       It returns the number of characters in pStrIn, not including
- *             the terminating null character.
- *             This function have no return code. It does not check that pStrIn
- *             does not point to null, nor is a valid character string (i.e.
- *             null-terminated).
- * @param      pStrIn: (IN) Character string.
- * @return     number of characters in pStrIn.
- ************************************************************************
-*/
-M4OSA_UInt32 M4OSA_chrLength(M4OSA_Char* pStrIn)
-{
-    M4OSA_TRACE1_1("M4OSA_chrLength\t(M4OSA_Char* %x)",pStrIn);
-    return (M4OSA_UInt32)strlen((const char *)pStrIn);
-}
-
-/**
- ************************************************************************
- * @brief      This function mimics the functionality of the libc's tolower().
- * @note       It converts the character to lower case, if possible and
- *             appropriate, and returns it.
- * @param      cIn: (IN) Input character to convert.
- * @return     converted character.
- ************************************************************************
-*/
-M4OSA_Char M4OSA_chrToLower (M4OSA_Char cIn)
-{
-    M4OSA_TRACE1_1("M4OSA_chrToLower\t(M4OSA_Char %c)",cIn);
-    return (M4OSA_Char)tolower((int)cIn);
-}
-
-/**
- ************************************************************************
- * @brief      This function mimics the functionality of the libc's toupper().
- * @note       It converts the character to upper case, if possible and
- *             appropriate, and returns it.
- * @param      cIn: (IN) Input character to convert.
- * @return     converted character.
- ************************************************************************
-*/
-M4OSA_Char M4OSA_chrToUpper(M4OSA_Char cIn)
-{
-    M4OSA_TRACE1_1("M4OSA_chrToUpper\t(M4OSA_Char %c)",cIn);
-    return (M4OSA_Char)toupper((int)cIn);
-}
-
-
-M4OSA_ERR M4OSA_chrGetWord(M4OSA_Char*    pStrIn,
-                           M4OSA_Char*    pBeginDelimiters,
-                           M4OSA_Char*    pEndDelimiters,
-                           M4OSA_Char*    pStrOut,
-                           M4OSA_UInt32*pStrOutMaxLen,
-                           M4OSA_Char** pOutputPointer)
-{
-    M4OSA_Char   *pTemp;
-    M4OSA_UInt32  pos;
-    M4OSA_ERR     errorCode;
-
-    M4OSA_TRACE1_4("M4OSA_chrGetWord\t(M4OSA_Char* %x,...,...,M4OSA_Char* %x,"
-        "M4OSA_UInt32* %x,M4OSA_Char** %x)",
-                                   pStrIn,pStrOut,pStrOutMaxLen,pOutputPointer);
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn, M4ERR_PARAMETER,
-                                     "M4OSA_chrGetWord:\tpStrIn is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pBeginDelimiters, M4ERR_PARAMETER,
-                            "M4OSA_chrGetWord:\tbeginDelimiters is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pEndDelimiters, M4ERR_PARAMETER,
-                              "M4OSA_chrGetWord:\tendDelimiters is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrOut, M4ERR_PARAMETER,
-                                    "M4OSA_chrGetWord:\tpStrOut is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrOutMaxLen, M4ERR_PARAMETER,
-                               "M4OSA_chrGetWord:\tstrOutMaxLen is M4OSA_NULL");
-
-    errorCode = M4OSA_chrSpan(pStrIn, pBeginDelimiters, &pos);
-    pTemp     = pStrIn + pos;
-    errorCode = M4OSA_chrSpanComplement(pTemp, pEndDelimiters, &pos);
-    if(pos > *pStrOutMaxLen)
-    {
-        *pStrOutMaxLen = pos;
-        return M4ERR_CHR_STR_OVERFLOW;
-    }
-    if(pos)
-    {
-        M4OSA_memcpy((M4OSA_MemAddr8)pStrOut,(M4OSA_MemAddr8)pTemp, pos);
-    }
-    pStrOut[pos]   = '\0';
-    if(M4OSA_NULL != pOutputPointer)
-    {
-        *pOutputPointer = pTemp + pos;
-    }
-    return M4NO_ERROR;
-}
 
 /**
  ************************************************************************
@@ -737,639 +304,6 @@
     return M4NO_ERROR;
 }
 
-/**
- ************************************************************************
- * @brief      This function gets a M4OSA_UInt8 from string.
- * @note       This function converts the first set of non-whitespace
- *             characters of pStrIn to a M4OSA_UInt8 value pVal, assuming a
- *             representation in base provided by the parameter base. pStrOut is
- *             set to the first character of the string following the last
- *             character of the number that has been converted.
- *             - in case of a failure during the conversion, pStrOut is not
- *               updated, and pVal is set to null.
- *             - in case of negative number, pStrOut is not updated, and pVal is
- *               set to null.
- *             - in case of numerical overflow, pVal is set to M4OSA_UINT8_MAX.
- *             - if pStrOut is not to be used, it can be set to M4OSA_NULL.
- * @param      pStrIn: (IN) Character string.
- * @param      pVal: (OUT) read value.
- * @param      pStrOut: (OUT) Output character string.
- * @param      base: (IN) Base of the character string representation.
- * @return     M4NO_ERROR: there is no error.
- * @return     M4ERR_PARAMETER: pStrIn or pVal is M4OSA_NULL.
- * @return     M4ERR_CHR_CONV_FAILED: conversion failure.
- * @return     M4WAR_CHR_NUM_RANGE: the character string represents a number
- *             greater than M4OSA_UINT8_MAX.
- * @return     M4WAR_CHR_NEGATIVE: the character string represents a negative
- *             number.
- ************************************************************************
-*/
-M4OSA_ERR M4OSA_chrGetUInt8(M4OSA_Char*        pStrIn,
-                            M4OSA_UInt8*    pVal,
-                            M4OSA_Char**    pStrOut,
-                            M4OSA_chrNumBase base)
-{
-    M4OSA_UInt32 ul;
-    char*        pTemp;
-
-    M4OSA_TRACE1_4("M4OSA_chrGetUInt8\t(M4OSA_Char* %x, M4OSA_UInt8* %x"
-        "M4OSA_Char** %x,M4OSA_chrNumBase %d)",pStrIn,pVal,pStrOut,base);
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn, M4ERR_PARAMETER,
-                                    "M4OSA_chrGetUInt8:\tpStrIn is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pVal, M4ERR_PARAMETER,
-                                      "M4OSA_chrGetUInt8:\tpVal is M4OSA_NULL");
-
-    switch(base)
-    {
-    case M4OSA_kchrDec:
-        ul = strtoul((const char *)pStrIn, &pTemp, 10);
-        break;
-    case M4OSA_kchrHexa:
-        ul = strtoul((const char *)pStrIn, &pTemp, 16);
-        break;
-    case M4OSA_kchrOct:
-        ul = strtoul((const char *)pStrIn, &pTemp, 8);
-        break;
-    default:
-        return M4ERR_PARAMETER;
-    }
-
-    /* has conversion failed ? */
-    if((M4OSA_Char*)pTemp == pStrIn)
-    {
-        *pVal = 0;
-        return M4ERR_CHR_CONV_FAILED;
-    }
-
-    /* was the number negative ? */
-    if(*(pStrIn+strspn((const char *)pStrIn," \t")) == '-')
-    {
-        *pVal = 0;
-        return M4WAR_CHR_NEGATIVE;
-    }
-
-    /* has an overflow occured ? */
-    if(ul>M4OSA_UINT8_MAX)
-    {
-        *pVal = M4OSA_UINT8_MAX;
-        if(M4OSA_NULL != pStrOut)
-        {
-            *pStrOut = (M4OSA_Char*)pTemp;
-        }
-        return M4WAR_CHR_NUM_RANGE;
-    }
-
-    /* nominal case */
-    *pVal = (M4OSA_UInt8)ul;
-    if(M4OSA_NULL != pStrOut)
-    {
-        *pStrOut = (M4OSA_Char*)pTemp;
-    }
-    return M4NO_ERROR;
-}
-
-/**
- ************************************************************************
- * @brief      This function gets a M4OSA_Int64 from string.
- * @note       This function converts the first set of non-whitespace
- *             characters of pStrIn to a M4OSA_Int64 value pVal, assuming a
- *             decimal representation. pStrOut is set to the first character of
- *             the string following the last character of the number that has
- *             been converted.
- *             - in case of a failure during the conversion, pStrOut is not
- *               updated, and pVal is set to null.
- *             - in case of numerical overflow or underflow, pVal is set to
- *               M4OSA_INT64_MAX or M4OSA_INT64_MIN respectively.
- *             - if pStrOut is not to be used, it can be set to M4OSA_NULL.
- * @param      pStrIn: (IN) Character string.
- * @param      pVal: (OUT) read value.
- * @param      pStrOut: (OUT) Output character string.
- * @param      base: (IN) Base of the character string representation.
- *             FOR THE MOMENT, ONLY DECIMAL REPRESENTATION IS HANDLED.
- * @return     M4NO_ERROR: there is no error.
- * @return     M4ERR_PARAMETER: pStrIn or pVal is M4OSA_NULL.
- * @return     M4ERR_CHR_CONV_FAILED: conversion failure.
- * @return     M4WAR_CHR_NUM_RANGE: the character string represents a number
- *             greater than M4OSA_INT64_MAX or less than M4OSA_INT64_MIN
- ************************************************************************
-*/
-M4OSA_ERR M4OSA_chrGetInt64(M4OSA_Char* pStrIn, M4OSA_Int64* pVal,
-                            M4OSA_Char** pStrOut, M4OSA_chrNumBase base)
-{
-#ifdef M4OSA_64BITS_SUPPORTED
-    M4OSA_Int64     maxVal   =  M4OSA_INT64_MAX; /* this is 2^63-1 */
-    M4OSA_Int64     minVal   =  M4OSA_INT64_MIN; /* this is -2^63+1 */
-    M4OSA_Char   maxStr[] =  "9223372036854775807";
-    M4OSA_Char*  beginNum;
-    M4OSA_UInt32 maxLen   = strlen((const char *)maxStr);
-    M4OSA_UInt32 chrCount = 0;
-    M4OSA_UInt8  negative = 0;
-
-    M4OSA_TRACE1_4((M4OSA_Char *)"M4OSA_chrGetInt64\t(M4OSA_Char* %x, M4OSA_UInt64* %x"
-        "M4OSA_Char** %x,M4OSA_chrNumBase %d)",pStrIn,pVal,pStrOut,base);
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn, M4ERR_PARAMETER,
-                                    "M4OSA_chrGetInt64:\tpStrIn is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pVal, M4ERR_PARAMETER,
-                                      "M4OSA_chrGetInt64:\tpVal is M4OSA_NULL");
-
-    switch(base)
-    {
-    case M4OSA_kchrDec:
-        break;
-    case M4OSA_kchrOct:
-        return M4ERR_NOT_IMPLEMENTED;
-    case M4OSA_kchrHexa:
-        return M4ERR_NOT_IMPLEMENTED;
-    default:
-        return M4ERR_PARAMETER;
-    }
-
-    /* trim blank characters */
-    while (*pStrIn == ' ' || *pStrIn == '\t') pStrIn++;
-
-    /* get the sign */
-    if (*pStrIn == '+') pStrIn++;
-    else if (*pStrIn == '-')
-    {
-        negative = 1;
-        pStrIn++;
-    }
-    beginNum = pStrIn;
-
-    /* get the length of the numerical part */
-    while((*pStrIn >= '0') && (*pStrIn <= '9'))
-    {
-        pStrIn++;
-        chrCount++;
-    }
-
-    /* has conversion failed ? */
-    if(!chrCount)
-    {
-        *pVal = 0;
-        return M4ERR_CHR_CONV_FAILED;
-    }
-
-    /* has overflow (or underflow) occured ? */
-    if((chrCount > maxLen) /* obvious overflow (or underflow) */
-        ||
-        ((chrCount == maxLen) && (strncmp((const char *)beginNum,
-                                           (const char *)maxStr, maxLen) > 0)))
-        /* less obvious overflow (or underflow) */
-    {
-        if(negative)
-        {
-            *pVal = minVal;
-        }
-        else
-        {
-            *pVal = maxVal;
-        }
-        if(M4OSA_NULL != pStrOut)
-        {
-            *pStrOut = beginNum+chrCount;
-        }
-        return M4WAR_CHR_NUM_RANGE;
-    }
-
-    /* nominal case */
-    pStrIn = beginNum;
-    *pVal  = 0;
-    while((*pStrIn >= '0') && (*pStrIn <= '9'))
-    {
-        *pVal = (*pVal)*10 + (*pStrIn++ - '0');
-    }
-    if(negative)
-    {
-        *pVal = -*pVal;
-    }
-    if(M4OSA_NULL != pStrOut)
-    {
-        *pStrOut = pStrIn;
-    }
-    return M4NO_ERROR;
-#elif defined M4OSA_64BITS_NOT_SUPPORTED
-    return(M4OSA_chrGetInt32(pStrIn, (M4OSA_Int32*) pVal, pStrOut, M4OSA_kchrDec));
-#else
-    return(M4ERR_NOT_IMPLEMENTED);
-#endif
-
-                                   }
-
-/**
- ************************************************************************
- * @brief      This function gets a M4OSA_Int32 from string.
- * @note       This function converts the first set of non-whitespace
- *             characters of pStrIn to a M4OSA_Int32 value pVal, assuming a
- *             representation in base provided by the parameter base. pStrOut is
- *             set to the first character of the string following the last
- *             character of the number that has been converted.
- *             - in case of a failure during the conversion, pStrOut is not
- *               updated, and pVal is set to null.
- *             - in case of numerical overflow or underflow, pVal is set to
- *               M4OSA_INT32_MAX or M4OSA_INT32_MIN respectively.
- *             - if pStrOut is not to be used, it can be set to M4OSA_NULL.
- * @param      pStrIn: (IN) Character string.
- * @param      pVal: (OUT) read value.
- * @param      pStrOut: (OUT) Output character string.
- * @param      base: (IN) Base of the character string representation.
- * @return     M4NO_ERROR: there is no error.
- * @return     M4ERR_PARAMETER: pStrIn or pVal is M4OSA_NULL.
- * @return     M4ERR_CHR_CONV_FAILED: conversion failure.
- * @return     M4WAR_CHR_NUM_RANGE: the character string represents a number
- *             greater than M4OSA_INT32_MAX or less than M4OSA_INT32_MIN
- ************************************************************************
-*/
-M4OSA_ERR M4OSA_chrGetInt32(M4OSA_Char*        pStrIn,
-                            M4OSA_Int32*    pVal,
-                            M4OSA_Char**    pStrOut,
-                            M4OSA_chrNumBase base)
-{
-    M4OSA_Int32 l;
-    char*       pTemp;
-
-    M4OSA_TRACE1_4("M4OSA_chrGetInt32\t(M4OSA_Char* %x, M4OSA_Int32* %x"
-        "M4OSA_Char** %x,M4OSA_chrNumBase %d)",pStrIn,pVal,pStrOut,base);
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn,M4ERR_PARAMETER,
-                                    "M4OSA_chrGetInt32:\tpStrIn is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pVal,M4ERR_PARAMETER,
-                                      "M4OSA_chrGetInt32:\tpVal is M4OSA_NULL");
-
-    errno = 0;
-    switch(base)
-    {
-    case M4OSA_kchrDec:
-        l = strtol((const char *)pStrIn, &pTemp, 10);
-        break;
-    case M4OSA_kchrHexa:
-        l = strtol((const char *)pStrIn, &pTemp, 16);
-        break;
-    case M4OSA_kchrOct:
-        l = strtol((const char *)pStrIn, &pTemp, 8);
-        break;
-    default:
-        return M4ERR_PARAMETER;
-    }
-
-    /* has conversion failed ? */
-    if((M4OSA_Char*)pTemp == pStrIn)
-    {
-        *pVal = 0;
-        return M4ERR_CHR_CONV_FAILED;
-    }
-
-    /* has an overflow occured ? */
-    if((errno == ERANGE) && (l == M4OSA_INT32_MAX))
-    {
-        *pVal = M4OSA_INT32_MAX;
-        if(M4OSA_NULL != pStrOut)
-        {
-            *pStrOut = (M4OSA_Char*)pTemp;
-        }
-        return M4WAR_CHR_NUM_RANGE;
-    }
-
-    /* has an underflow occured ? */
-    if((errno == ERANGE) && (l ==  M4OSA_INT32_MIN))
-    {
-        *pVal = M4OSA_INT32_MIN;
-        if(M4OSA_NULL != pStrOut)
-        {
-            *pStrOut = (M4OSA_Char*)pTemp;
-        }
-        return M4WAR_CHR_NUM_RANGE;
-    }
-
-    /* nominal case */
-    *pVal = (M4OSA_Int32)l;
-    if(M4OSA_NULL != pStrOut)
-    {
-        *pStrOut = (M4OSA_Char*)pTemp;
-    }
-
-    return M4NO_ERROR;
-}
-
-/**
- ************************************************************************
- * @brief      This function gets a M4OSA_Int16 from string.
- * @note       This function converts the first set of non-whitespace
- *             characters of pStrIn to a M4OSA_Int16 value pVal, assuming a
- *             representation in base provided by the parameter base. pStrOut is
- *             set to the first character of the string following the last
- *             character of the number that has been converted.
- *             - in case of a failure during the conversion, pStrOut is not
- *               updated, and pVal is set to null.
- *             - in case of numerical overflow or underflow, pVal is set to
- *               M4OSA_INT16_MAX or M4OSA_INT16_MIN respectively.
- *             - if pStrOut is not to be used, it can be set to M4OSA_NULL.
- * @param      pStrIn: (IN) Character string.
- * @param      pVal: (OUT) read value.
- * @param      pStrOut: (OUT) Output character string.
- * @param      base: (IN) Base of the character string representation.
- * @return     M4NO_ERROR: there is no error.
- * @return     M4ERR_PARAMETER: pStrIn or pVal is M4OSA_NULL.
- * @return     M4ERR_CHR_CONV_FAILED: conversion failure.
- * @return     M4WAR_CHR_NUM_RANGE: the character string represents a number
- *             greater than M4OSA_INT16_MAX or less than M4OSA_INT16_MIN
- ************************************************************************
-*/
-M4OSA_ERR M4OSA_chrGetInt16(M4OSA_Char*        pStrIn,
-                            M4OSA_Int16*    pVal,
-                            M4OSA_Char**    pStrOut,
-                            M4OSA_chrNumBase base)
-{
-    M4OSA_Int32 l;
-    char*       pTemp;
-
-    M4OSA_TRACE1_4("M4OSA_chrGetInt16\t(M4OSA_Char* %x, M4OSA_Int16* %x"
-        "M4OSA_Char** %x,M4OSA_chrNumBase %d)",pStrIn,pVal,pStrOut,base);
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn, M4ERR_PARAMETER,
-                                    "M4OSA_chrGetInt16:\tpStrIn is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pVal, M4ERR_PARAMETER,
-                                      "M4OSA_chrGetInt16:\tpVal is M4OSA_NULL");
-
-    switch(base)
-    {
-    case M4OSA_kchrDec:
-        l = strtol((const char *)pStrIn, &pTemp, 10);
-        break;
-    case M4OSA_kchrHexa:
-        l = strtol((const char *)pStrIn, &pTemp, 16);
-        break;
-    case M4OSA_kchrOct:
-        l = strtol((const char *)pStrIn, &pTemp, 8);
-        break;
-    default:
-        return M4ERR_PARAMETER;
-    }
-
-    /* has conversion failed ? */
-    if((M4OSA_Char*)pTemp == pStrIn)
-    {
-        *pVal = 0;
-        return M4ERR_CHR_CONV_FAILED;
-    }
-
-    /* has an overflow occured ? */
-    if(l>M4OSA_INT16_MAX)
-    {
-        *pVal = M4OSA_INT16_MAX;
-        if(M4OSA_NULL != pStrOut)
-        {
-            *pStrOut = (M4OSA_Char*)pTemp;
-        }
-        return M4WAR_CHR_NUM_RANGE;
-    }
-
-    /* has an underflow occured ? */
-    if(l<M4OSA_INT16_MIN)
-    {
-        *pVal = M4OSA_INT16_MIN;
-        if(M4OSA_NULL != pStrOut)
-        {
-            *pStrOut = (M4OSA_Char*)pTemp;
-        }
-        return M4WAR_CHR_NUM_RANGE;
-    }
-
-    /* nominal case */
-    *pVal = (M4OSA_UInt16)l;
-    if(M4OSA_NULL != pStrOut)
-    {
-        *pStrOut = (M4OSA_Char*)pTemp;
-    }
-
-    return M4NO_ERROR;
-}
-
-/**
- ************************************************************************
- * @brief      This function gets a M4OSA_Int8 from string.
- * @note       This function converts the first set of non-whitespace
- *             characters of pStrIn to a M4OSA_Int8 value pVal, assuming a
- *             representation in base provided by the parameter base. pStrOut is
- *             set to the first character of the string following the last
- *             character of the number that has been converted.
- *             - in case of a failure during the conversion, pStrOut is not
- *               updated, and pVal is set to null.
- *             - in case of numerical overflow or underflow, pVal is set to
- *               M4OSA_INT8_MAX or M4OSA_INT8_MIN respectively.
- *             - if pStrOut is not to be used, it can be set to M4OSA_NULL.
- * @param      pStrIn: (IN) Character string.
- * @param      pVal: (OUT) read value.
- * @param      pStrOut: (OUT) Output character string.
- * @param      base: (IN) Base of the character string representation.
- * @return     M4NO_ERROR: there is no error.
- * @return     M4ERR_PARAMETER: pStrIn or pVal is M4OSA_NULL.
- * @return     M4ERR_CHR_CONV_FAILED: conversion failure.
- * @return     M4WAR_CHR_NUM_RANGE: the character string represents a number
- *             greater than M4OSA_INT8_MAX or less than M4OSA_INT8_MIN
- ************************************************************************
-*/
-M4OSA_ERR M4OSA_chrGetInt8(M4OSA_Char*    pStrIn,
-                           M4OSA_Int8*    pVal,
-                           M4OSA_Char**    pStrOut,
-                           M4OSA_chrNumBase base)
-{
-    M4OSA_Int32 l;
-    char*       pTemp;
-
-    M4OSA_TRACE1_4("M4OSA_chrGetInt8\t(M4OSA_Char* %x, M4OSA_Int8* %x"
-                   "M4OSA_Char** %x,M4OSA_chrNumBase %d)",pStrIn,pVal,pStrOut,
-                                                                          base);
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn, M4ERR_PARAMETER,
-                                     "M4OSA_chrGetInt8:\tpStrIn is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pVal, M4ERR_PARAMETER,
-                                       "M4OSA_chrGetInt8:\tpVal is M4OSA_NULL");
-
-    switch(base)
-    {
-    case M4OSA_kchrDec:
-        l = strtol((const char *)pStrIn, &pTemp, 10);
-        break;
-    case M4OSA_kchrHexa:
-        l = strtol((const char *)pStrIn, &pTemp, 16);
-        break;
-    case M4OSA_kchrOct:
-        l = strtol((const char *)pStrIn, &pTemp, 8);
-        break;
-    default:
-        return M4ERR_PARAMETER;
-    }
-
-    /* has conversion failed ? */
-    if((M4OSA_Char*)pTemp == pStrIn)
-    {
-        *pVal = 0;
-        return M4ERR_CHR_CONV_FAILED;
-    }
-
-    /* has an overflow occured ? */
-    if(l>M4OSA_INT8_MAX)
-    {
-        *pVal = M4OSA_INT8_MAX;
-        if(M4OSA_NULL != pStrOut)
-        {
-            *pStrOut = (M4OSA_Char*)pTemp;
-        }
-        return M4WAR_CHR_NUM_RANGE;
-    }
-
-    /* has an underflow occured ? */
-    if(l<M4OSA_INT8_MIN)
-    {
-        *pVal = M4OSA_INT8_MIN;
-        if(M4OSA_NULL != pStrOut)
-        {
-            *pStrOut = (M4OSA_Char*)pTemp;
-        }
-        return M4WAR_CHR_NUM_RANGE;
-    }
-
-    /* nominal case */
-    *pVal = (M4OSA_UInt8)l;
-    if(M4OSA_NULL != pStrOut)
-    {
-        *pStrOut = (M4OSA_Char*)pTemp;
-    }
-
-    return M4NO_ERROR;
-}
-
-/**
- ************************************************************************
- * @brief      This function gets a M4OSA_Double from string.
- * @note       This function converts the first set of non-whitespace
- *             characters of pStrIn to a M4OSA_Double value pVal. pStrOut is set
- *             to the first character of the string following the last
- *             character of the number that has been converted.
- *             - in case of a failure during the conversion, pStrOut is not
- *               updated, and pVal is set to null.
- *             - in case of numerical overflow or underflow, pVal is set to null
- *             - if pStrOut is not to be used, it can be set to M4OSA_NULL.
- * @param      pStrIn: (IN) Character string.
- * @param      pVal: (OUT) read value.
- * @param      pStrOut: (OUT) Output character string.
- * @return     M4NO_ERROR: there is no error.
- * @return     M4ERR_PARAMETER: pStrIn or pVal is M4OSA_NULL.
- * @return     M4ERR_CHR_CONV_FAILED: conversion failure.
- * @return     M4WAR_CHR_NUM_RANGE: an underflow or overflow occurs during the
- *             conversion.
- ************************************************************************
-*/
-M4OSA_ERR M4OSA_chrGetDouble(M4OSA_Char*    pStrIn,
-                             M4OSA_Double*    pVal,
-                             M4OSA_Char**    pStrOut)
-{
-    M4OSA_Double d;
-    char*        pTemp;
-
-    M4OSA_TRACE1_3("M4OSA_chrGetDouble\t(M4OSA_Char* %x, M4OSA_Double* %x"
-        "M4OSA_Char** %x)",pStrIn,pVal,pStrOut);
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn, M4ERR_PARAMETER,
-                                   "M4OSA_chrGetDouble:\tpStrIn is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pVal, M4ERR_PARAMETER,
-                                     "M4OSA_chrGetDouble:\tpVal is M4OSA_NULL");
-
-    errno = 0;
-    d = strtod((const char *)pStrIn, &pTemp);
-
-    /* has conversion failed ? */
-    if((M4OSA_Char*)pTemp == pStrIn)
-    {
-        *pVal = 0.0;
-        return M4ERR_CHR_CONV_FAILED;
-    }
-
-    /* has an overflow or underflow occured ? */
-    if(errno == ERANGE)
-    {
-        *pVal = 0.0;
-        if(M4OSA_NULL != pStrOut)
-        {
-            *pStrOut = (M4OSA_Char*)pTemp;
-        }
-        return M4WAR_CHR_NUM_RANGE;
-    }
-
-    /* nominal case */
-    *pVal = (M4OSA_Double)d;
-    if(M4OSA_NULL != pStrOut)
-    {
-        *pStrOut = (M4OSA_Char*)pTemp;
-    }
-
-    return M4NO_ERROR;
-}
-
-/**
- ************************************************************************
- * @brief      This function gets a M4OSA_Time from string.
- * @note       Since, M4OSA_Time is defined as M4OSA_Int64, it calls
- *             M4OSA_chrGetInt64().
- * @param      pStrIn: (IN) Character string.
- * @param      pVal: (OUT) read value.
- * @param      pStrOut: (OUT) Output character string.
- * @param      base: (IN) Base of the character string representation.
- * @return     M4NO_ERROR: there is no error.
- * @return     M4ERR_PARAMETER: pStrIn or pVal is M4OSA_NULL.
- * @return     M4ERR_CHR_CONV_FAILED: conversion failure.
- * @return     M4WAR_CHR_NUM_RANGE: the character string represents a number
- *             out of range.
- ************************************************************************
-*/
-M4OSA_ERR M4OSA_chrGetTime(M4OSA_Char*    pStrIn,
-                           M4OSA_Time*    pVal,
-                           M4OSA_Char**    pStrOut,
-                           M4OSA_chrNumBase base)
-{
-    M4OSA_TRACE1_4("M4OSA_chrGetTime\t(M4OSA_Char* %x, M4OSA_Time* %x"
-        "M4OSA_Char** %x,M4OSA_chrNumBase %d)",pStrIn,pVal,pStrOut,base);
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn, M4ERR_PARAMETER,
-                                     "M4OSA_chrGetTime:\tpStrIn is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pVal, M4ERR_PARAMETER,
-                                       "M4OSA_chrGetTime:\tpVal is M4OSA_NULL");
-
-    return M4OSA_chrGetInt64(pStrIn,(M4OSA_Int64*)pVal,pStrOut,base);
-}
-
-/**
- ************************************************************************
- * @brief      This function gets a M4OSA_FilePosition from string.
- * @note       Depending on the M4OSA_FilePosition definition, this function
- *             calls the correspoding underlying type.
- * @param      pStrIn: (IN) Character string.
- * @param      pVal: (OUT) read value.
- * @param      pStrOut: (OUT) Output character string.
- * @param      base: (IN) Base of the character string representation.
- * @return     M4NO_ERROR: there is no error.
- * @return     M4ERR_PARAMETER: pStrIn or pVal is M4OSA_NULL.
- * @return     M4ERR_CHR_CONV_FAILED: conversion failure.
- * @return     M4WAR_CHR_NUM_RANGE: the character string represents a number
- *             out of range.
- ******************************************************************************
-*/
-M4OSA_ERR M4OSA_chrGetFilePosition(M4OSA_Char*            pStrIn,
-                                   M4OSA_FilePosition*    pVal,
-                                   M4OSA_Char**            pStrOut,
-                                   M4OSA_chrNumBase        base)
-{
-    M4OSA_TRACE1_4("M4OSA_chrGetFilePosition\t(M4OSA_Char* %x, M4OSA_FilePosition* %x"
-        "M4OSA_Char** %x,M4OSA_chrNumBase %d)",pStrIn,pVal,pStrOut,base);
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pStrIn, M4ERR_PARAMETER,
-                             "M4OSA_chrGetFilePosition:\tpStrIn is M4OSA_NULL");
-    M4OSA_DEBUG_IF2(M4OSA_NULL == pVal, M4ERR_PARAMETER,
-                               "M4OSA_chrGetFilePosition:\tpVal is M4OSA_NULL");
-
-#ifdef M4OSA_FILE_POS_64_BITS_SUPPORTED
-    return M4OSA_chrGetInt64(pStrIn,(M4OSA_Int64*)pVal,pStrOut,base);
-#else
-    return M4OSA_chrGetInt32(pStrIn,(M4OSA_Int32*)pVal,pStrOut,base);
-#endif
-
-}
-
 M4OSA_ERR M4OSA_chrSPrintf(M4OSA_Char  *pStrOut, M4OSA_UInt32 strOutMaxLen,
                            M4OSA_Char   *format, ...)
 {
diff --git a/libvideoeditor/osal/src/M4OSA_FileCommon.c b/libvideoeditor/osal/src/M4OSA_FileCommon.c
index d80d8cc..8731a3d 100755
--- a/libvideoeditor/osal/src/M4OSA_FileCommon.c
+++ b/libvideoeditor/osal/src/M4OSA_FileCommon.c
@@ -152,33 +152,33 @@
     if ((fileModeAccess & M4OSA_kFileRead) &&
         (fileModeAccess & M4OSA_kFileWrite)&&(fileModeAccess & M4OSA_kFileCreate))
     {
-        M4OSA_chrNCat(mode, pWriteString, 1);
-        M4OSA_chrNCat(mode, pPlusString, 1);
+        strncat((char *)mode, (const char *)pWriteString, (size_t)1);
+        strncat((char *)mode, (const char *)pPlusString, (size_t)1);
     }
     else
     {
         if(fileModeAccess & M4OSA_kFileAppend)
         {
-            M4OSA_chrNCat(mode, pAppendString, 1);
+            strncat((char *)mode, (const char *)pAppendString, (size_t)1);
         }
         else if(fileModeAccess & M4OSA_kFileRead)
         {
-            M4OSA_chrNCat(mode, pReadString, 1);
+            strncat((char *)mode, (const char *)pReadString, (size_t)1);
         }
         else if(fileModeAccess & M4OSA_kFileWrite)
         {
-            M4OSA_chrNCat(mode, pWriteString, 1);
+            strncat((char *)mode, (const char *)pWriteString, (size_t)1);
         }
 
         if((fileModeAccess & M4OSA_kFileRead)&&(fileModeAccess & M4OSA_kFileWrite))
         {
-            M4OSA_chrNCat(mode,pPlusString, 1);
+            strncat((char *)mode,(const char *)pPlusString, (size_t)1);
         }
     }
 
     if(!(fileModeAccess & M4OSA_kFileIsTextMode))
     {
-        M4OSA_chrNCat(mode, pBinaryString, 1);
+        strncat((char *)mode, (const char *)pBinaryString,(size_t)1);
     }
 
     /*Open the file*/
@@ -272,7 +272,7 @@
     M4OSA_INT_TO_FILE_POSITION(0, pFileContext->write_position);
 
     /* Allocate the memory to store the URL string */
-    pFileContext->url_name = (M4OSA_Char*) M4OSA_malloc(M4OSA_chrLength(pUrl)+1,
+    pFileContext->url_name = (M4OSA_Char*) M4OSA_malloc(strlen((const char *)pUrl)+1,
                         core_id, (M4OSA_Char*)"M4OSA_fileCommonOpen: URL name");
     if (M4OSA_NULL == pFileContext->url_name)
     {
@@ -281,7 +281,7 @@
         M4OSA_DEBUG(M4ERR_ALLOC, "M4OSA_fileCommonOpen");
         return M4ERR_ALLOC;
     }
-    M4OSA_chrNCopy(pFileContext->url_name, pUrl, M4OSA_chrLength(pUrl)+1);
+    M4OSA_chrNCopy(pFileContext->url_name, pUrl, strlen((const char *)pUrl)+1);
 
     /* Get the file name */
     err = M4OSA_fileCommonGetFilename(pUrl, &pFileContext->file_name);
@@ -608,7 +608,7 @@
     M4OSA_DEBUG_IF2(M4OSA_NULL == pUrl,    M4ERR_PARAMETER,
                                   "M4OSA_fileCommonGetURL: pUrl is M4OSA_NULL");
 
-    uiLength = M4OSA_chrLength(pFileContext->url_name)+1;
+    uiLength = strlen((const char *)pFileContext->url_name)+1;
 
     /* Allocate the memory to store the url_name */
     *pUrl = (M4OSA_Char*)M4OSA_malloc(uiLength, M4OSA_FILE_COMMON,
@@ -660,7 +660,7 @@
     *pFileName = M4OSA_NULL;
 
     /*Parse URL*/
-    iUrlLen = M4OSA_chrLength(pUrl);
+    iUrlLen = strlen((const char *)pUrl);
     for(i=iUrlLen-1; i>=0; i--)
     {
         if (pUrl[i] != '\\' && pUrl[i] != '/')
diff --git a/libvideoeditor/osal/src/M4OSA_Thread.c b/libvideoeditor/osal/src/M4OSA_Thread.c
index c09b82c..08a25fc 100755
--- a/libvideoeditor/osal/src/M4OSA_Thread.c
+++ b/libvideoeditor/osal/src/M4OSA_Thread.c
@@ -635,7 +635,7 @@
 
    if(optionValue != M4OSA_NULL)
    {
-      nameSize = M4OSA_chrLength(name)+1;
+      nameSize = strlen((const char *)name)+1;
 
       threadContext->name =
          (M4OSA_Char*)M4OSA_malloc(nameSize, M4OSA_THREAD,
diff --git a/libvideoeditor/vss/3gpwriter/src/M4MP4W_Interface.c b/libvideoeditor/vss/3gpwriter/src/M4MP4W_Interface.c
index c719fe6..993f369 100755
--- a/libvideoeditor/vss/3gpwriter/src/M4MP4W_Interface.c
+++ b/libvideoeditor/vss/3gpwriter/src/M4MP4W_Interface.c
@@ -32,7 +32,6 @@
 #include "M4OSA_FileWriter.h"        /**< Include for OSAL file accesses implementation */
 #include "M4OSA_Memory.h"            /**< Include for OSAL memory accesses implementation */
 #include "M4OSA_Debug.h"            /**< OSAL debug tools */
-#include "M4OSA_CharStar.h"            /**< For M4OSA_chrLength() */
 
 /**
  * Writer includes */
@@ -462,7 +461,7 @@
                be a text string */
             memval.addr = (M4OSA_MemAddr32)optionValue;
             /**< this is max string size copied by the core */
-            memval.size = M4OSA_chrLength(optionValue);
+            memval.size = strlen((const char *)optionValue);
             err = M4MP4W_setOption(
                 apContext->pMP4Context,M4MP4W_integrationTag, &memval);
             if (M4OSA_ERR_IS_ERROR(err))
diff --git a/libvideoeditor/vss/src/M4PCMR_CoreReader.c b/libvideoeditor/vss/src/M4PCMR_CoreReader.c
index 15fd9c8..f21764b 100755
--- a/libvideoeditor/vss/src/M4PCMR_CoreReader.c
+++ b/libvideoeditor/vss/src/M4PCMR_CoreReader.c
@@ -95,7 +95,7 @@
     context->m_pDecoderSpecInfo = M4OSA_NULL;
 
     /* Set sample frequency */
-    pTempURL = (M4OSA_Char*)pUrl + (M4OSA_chrLength((M4OSA_Char*)pUrl)-11);
+    pTempURL = (M4OSA_Char*)pUrl + (strlen((const char *)pUrl)-11);
     M4OSA_chrNCopy(value, pTempURL, 5);
     M4OSA_chrGetUInt32(pTempURL, &(context->m_decoderConfig.SampleFrequency),
          M4OSA_NULL, M4OSA_kchrDec);
@@ -106,7 +106,7 @@
     M4OSA_chrGetUInt16(pTempURL, &(context->m_decoderConfig.nbChannels),
          M4OSA_NULL, M4OSA_kchrDec);
 
-    M4OSA_chrNCopy(pUrl,pUrl, (M4OSA_chrLength((M4OSA_Char*)pUrl)-12));
+    M4OSA_chrNCopy(pUrl,pUrl, (strlen((const char *)pUrl)-12));
     /* Open the file */
     context->m_fileContext = M4OSA_NULL;
     err = pFileFunction->openRead(&(context->m_fileContext), pUrl, M4OSA_kFileRead);
diff --git a/libvideoeditor/vss/src/M4VSS3GPP_Clip.c b/libvideoeditor/vss/src/M4VSS3GPP_Clip.c
index b6408b3..8b9fabe 100755
--- a/libvideoeditor/vss/src/M4VSS3GPP_Clip.c
+++ b/libvideoeditor/vss/src/M4VSS3GPP_Clip.c
@@ -266,37 +266,37 @@
 
 
 
-        M4OSA_chrNCopy(pTempFile,pClipSettings->pFile,M4OSA_chrLength(pClipSettings->pFile));
+        M4OSA_chrNCopy(pTempFile,pClipSettings->pFile,strlen(pClipSettings->pFile));
 
 
     switch (pClipCtxt->pSettings->ClipProperties.uiSamplingFrequency)
     {
         case 8000:
-        M4OSA_chrNCat(pTempFile,(M4OSA_Char *)"_8000",6);
+        strncat((char *)pTempFile,(const char *)"_8000",6);
         break;
         case 11025:
-        M4OSA_chrNCat(pTempFile,(M4OSA_Char *)"_11025",6);
+        strncat((char *)pTempFile,(const char *)"_11025",6);
         break;
         case 12000:
-        M4OSA_chrNCat(pTempFile,(M4OSA_Char *)"_12000",6);
+        strncat((char *)pTempFile,(const char *)"_12000",6);
         break;
         case 16000:
-        M4OSA_chrNCat(pTempFile,(M4OSA_Char *)"_16000",6);
+        strncat((char *)pTempFile,(const char *)"_16000",6);
         break;
         case 22050:
-        M4OSA_chrNCat(pTempFile,(M4OSA_Char *)"_22050",6);
+        strncat((char *)pTempFile,(const char *)"_22050",6);
         break;
         case 24000:
-        M4OSA_chrNCat(pTempFile,(M4OSA_Char *)"_24000",6);
+        strncat((char *)pTempFile,(const char *)"_24000",6);
         break;
         case 32000:
-        M4OSA_chrNCat(pTempFile,(M4OSA_Char *)"_32000",6);
+        strncat((char *)pTempFile,(const char *)"_32000",6);
         break;
         case 44100:
-        M4OSA_chrNCat(pTempFile,(M4OSA_Char *)"_44100",6);
+        strncat((char *)pTempFile,(const char *)"_44100",6);
         break;
         case 48000:
-        M4OSA_chrNCat(pTempFile,(M4OSA_Char *)"_48000",6);
+        strncat((char *)pTempFile,(const char *)"_48000",6);
         break;
         default:
             M4OSA_TRACE1_1("M4VSS3GPP_intClipOpen: invalid input for BG tracksampling \
@@ -312,10 +312,10 @@
         switch(pClipCtxt->pSettings->ClipProperties.uiNbChannels)
         {
             case 1:
-                M4OSA_chrNCat(pTempFile,(M4OSA_Char *)"_1.pcm",6);
+                strncat((char *)pTempFile,(const char *)"_1.pcm",6);
             break;
             case 2:
-                M4OSA_chrNCat(pTempFile,(M4OSA_Char *)"_2.pcm",6);
+                strncat((char *)pTempFile,(const char *)"_2.pcm",6);
             break;
             default:
             M4OSA_TRACE1_1("M4VSS3GPP_intClipOpen: invalid input for BG track no.\
diff --git a/libvideoeditor/vss/src/M4xVSS_API.c b/libvideoeditor/vss/src/M4xVSS_API.c
index 84fb0cd..593c5b7 100755
--- a/libvideoeditor/vss/src/M4xVSS_API.c
+++ b/libvideoeditor/vss/src/M4xVSS_API.c
@@ -151,7 +151,7 @@
         (the conversion customer format into UTF8
         is done in VA/VAL)*/
         xVSS_context->pTempPath =
-            (M4OSA_Void *)M4OSA_malloc(M4OSA_chrLength(pParams->pTempPath) + 1,
+            (M4OSA_Void *)M4OSA_malloc(strlen(pParams->pTempPath) + 1,
             M4VS, (M4OSA_Char *)"xVSS Path for temporary files");
 
         if( xVSS_context->pTempPath == M4OSA_NULL )
@@ -160,7 +160,7 @@
             return M4ERR_ALLOC;
         }
         M4OSA_memcpy(xVSS_context->pTempPath, pParams->pTempPath,
-            M4OSA_chrLength(pParams->pTempPath) + 1);
+            strlen(pParams->pTempPath) + 1);
         /* TODO: Check that no previous xVSS temporary files are present ? */
     }
     else
@@ -641,8 +641,8 @@
         if( xVSS_context->pSettings->xVSS.pBGMtrack != M4OSA_NULL \
             && pSettings->xVSS.pBGMtrack != M4OSA_NULL )
         {
-            M4OSA_chrCompare(xVSS_context->pSettings->xVSS.pBGMtrack->pFile,
-                pSettings->xVSS.pBGMtrack->pFile, (M4OSA_Int32 *) &pCmpResult);
+            pCmpResult = strcmp((const char *)xVSS_context->pSettings->xVSS.pBGMtrack->pFile,
+                (const char *)pSettings->xVSS.pBGMtrack->pFile);
 
             if( pCmpResult == 0 )
             {
@@ -710,7 +710,7 @@
                     if( pParams->pFileOut != M4OSA_NULL )
                     {
                         /* Delete temporary file */
-                        M4OSA_fileExtraDelete(pParams->pFileOut);
+                        remove((const char *)pParams->pFileOut);
                         M4OSA_free((M4OSA_MemAddr32)pParams->pFileOut);
                         pParams->pFileOut = M4OSA_NULL;
                     }
@@ -720,7 +720,7 @@
                         /* Delete temporary file */
 #ifdef M4xVSS_RESERVED_MOOV_DISK_SPACE
 
-                        M4OSA_fileExtraDelete(pParams->pFileTemp);
+                        remove((const char *)pParams->pFileTemp);
                         M4OSA_free((M4OSA_MemAddr32)pParams->pFileTemp);
 
 #endif /*M4xVSS_RESERVED_MOOV_DISK_SPACE*/
@@ -755,7 +755,7 @@
                         if( pParams->pFileOut != M4OSA_NULL )
                         {
                             /* Delete temporary file */
-                            M4OSA_fileExtraDelete(pParams->pFileOut);
+                            remove((const char *)pParams->pFileOut);
                             M4OSA_free((M4OSA_MemAddr32)pParams->pFileOut);
                             pParams->pFileOut = M4OSA_NULL;
                         }
@@ -765,7 +765,7 @@
                             /* Delete temporary file */
 #ifdef M4xVSS_RESERVED_MOOV_DISK_SPACE
 
-                            M4OSA_fileExtraDelete(pParams->pFileTemp);
+                            remove((const char *)pParams->pFileTemp);
                             M4OSA_free((M4OSA_MemAddr32)pParams->pFileTemp);
 
 #endif /*M4xVSS_RESERVED_MOOV_DISK_SPACE*/
@@ -1278,7 +1278,7 @@
                     xVSS_context->pSettings->pTransitionList[i]-> \
                         xVSS.transitionSpecific.pAlphaMagicSettings->
                         pAlphaFilePath = M4OSA_malloc(
-                        (M4OSA_chrLength(pSettings->pTransitionList[i]-> \
+                        (strlen(pSettings->pTransitionList[i]-> \
                         xVSS.transitionSpecific.pAlphaMagicSettings->pAlphaFilePath)
                         + 1), M4VS, (M4OSA_Char *)"Alpha magic file path");
 
@@ -1301,7 +1301,7 @@
                         pAlphaFilePath,
                         pSettings->pTransitionList[i]->xVSS.
                         transitionSpecific.pAlphaMagicSettings->
-                        pAlphaFilePath, M4OSA_chrLength(
+                        pAlphaFilePath, strlen(
                         pSettings->pTransitionList[i]->xVSS.
                         transitionSpecific.pAlphaMagicSettings->
                         pAlphaFilePath) + 1);
@@ -1314,14 +1314,13 @@
                             == M4xVSS_kVideoTransitionType_AlphaMagic )
                         {
                             M4OSA_UInt32 pCmpResult = 0;
-                            M4OSA_chrCompare(xVSS_context->pSettings->
+                            pCmpResult = strcmp((const char *)xVSS_context->pSettings->
                                 pTransitionList[i]->xVSS.
                                 transitionSpecific.pAlphaMagicSettings->
-                                pAlphaFilePath, xVSS_context->pSettings->
+                                pAlphaFilePath, (const char *)xVSS_context->pSettings->
                                 pTransitionList[j]->xVSS.
                                 transitionSpecific.
-                                pAlphaMagicSettings->pAlphaFilePath,
-                                (M4OSA_Int32 *) &pCmpResult);
+                                pAlphaMagicSettings->pAlphaFilePath);
 
                             if( pCmpResult == 0 )
                             {
@@ -1689,8 +1688,8 @@
                 /* We parse all Pto3gpp Param chained list */
                 while( pParams != M4OSA_NULL )
                 {
-                    M4OSA_chrCompare(pSettings->pClipList[i]->pFile,
-                        pParams->pFileIn, (M4OSA_Int32 *) &pCmpResult);
+                    pCmpResult = strcmp((const char *)pSettings->pClipList[i]->pFile,
+                        (const char *)pParams->pFileIn);
 
                     if( pCmpResult == 0
                         && (pSettings->pClipList[i]->uiEndCutTime
@@ -1800,7 +1799,7 @@
             /**
             * UTF conversion: convert into the customer format, before being used*/
             pDecodedPath = xVSS_context->pSettings->pClipList[i]->pFile;
-            length = M4OSA_chrLength(pDecodedPath);
+            length = strlen(pDecodedPath);
 
             /**
             * UTF conversion: convert into the customer format, before being used*/
@@ -1873,7 +1872,7 @@
             /**
             * UTF conversion: convert into the customer format, before being used*/
             pDecodedPath = out_img;
-            length = M4OSA_chrLength(pDecodedPath);
+            length = strlen(pDecodedPath);
 
             if( xVSS_context->UTFConversionContext.pConvFromUTF8Fct
                 != M4OSA_NULL && xVSS_context->
@@ -1919,7 +1918,7 @@
             * UTF conversion: convert into the customer format, before being used*/
 
             pDecodedPath = out_img_tmp;
-            length = M4OSA_chrLength(pDecodedPath);
+            length = strlen(pDecodedPath);
 
             if( xVSS_context->UTFConversionContext.pConvFromUTF8Fct
                 != M4OSA_NULL && xVSS_context->
@@ -2119,7 +2118,7 @@
             }
             else
             {
-                length = M4OSA_chrLength(pDecodedPath);
+                length = strlen(pDecodedPath);
             }
             /**
             * End of the UTF conversion, use the converted file path*/
@@ -2162,8 +2161,8 @@
                 /* We parse all Pto3gpp Param chained list */
                 while( pParams != M4OSA_NULL )
                 {
-                    M4OSA_chrCompare(pSettings->pClipList[i]->pFile,
-                        pParams->pFileIn, (M4OSA_Int32 *)&pCmpResult);
+                    pCmpResult = strcmp((const char *)pSettings->pClipList[i]->pFile,
+                        (const char *)pParams->pFileIn);
 
                     if( pCmpResult == 0
                         && (pSettings->pClipList[i]->uiEndCutTime
@@ -2284,7 +2283,7 @@
                     /**
                     * UTF conversion: convert into the customer format, before being used*/
                     pDecodedPath = xVSS_context->pSettings->pClipList[i]->pFile;
-                    length = M4OSA_chrLength(pDecodedPath);
+                    length = strlen(pDecodedPath);
 
                     /**
                     * UTF conversion: convert into the customer format, before being used*/
@@ -2357,7 +2356,7 @@
                     /**
                     * UTF conversion: convert into the customer format, before being used*/
                     pDecodedPath = out_img;
-                    length = M4OSA_chrLength(pDecodedPath);
+                    length = strlen(pDecodedPath);
 
                     if( xVSS_context->UTFConversionContext.pConvFromUTF8Fct
                         != M4OSA_NULL && xVSS_context->
@@ -2403,7 +2402,7 @@
                     * UTF conversion: convert into the customer format, before being used*/
 
                     pDecodedPath = out_img_tmp;
-                    length = M4OSA_chrLength(pDecodedPath);
+                    length = strlen(pDecodedPath);
 
                     if( xVSS_context->UTFConversionContext.pConvFromUTF8Fct
                         != M4OSA_NULL && xVSS_context->
@@ -2595,7 +2594,7 @@
                     }
                     else
                     {
-                        length = M4OSA_chrLength(pDecodedPath);
+                        length = strlen(pDecodedPath);
                     }
                     /**
                     * End of the UTF conversion, use the converted file path*/
@@ -2746,8 +2745,8 @@
 
                     /**
                     * End of the UTF conversion, use the converted file path*/
-                    M4OSA_chrCompare(pSettings->pClipList[i]->pFile,
-                        pDecodedPath, (M4OSA_Int32 *) &pCmpResult);
+                    pCmpResult = strcmp((const char *)pSettings->pClipList[i]->pFile,
+                        (const char *)pDecodedPath);
 
                     /* If input filenames are the same, and if this is not a BGM, we can reuse
                     the transcoded file */
@@ -3254,7 +3253,7 @@
                 /**
                 * UTF conversion: convert into the customer format, before being used*/
                 pDecodedPath = xVSS_context->pSettings->pClipList[i]->pFile;
-                length = M4OSA_chrLength(pDecodedPath);
+                length = strlen(pDecodedPath);
 
                 if( xVSS_context->UTFConversionContext.pConvFromUTF8Fct
                     != M4OSA_NULL && xVSS_context->
@@ -3302,7 +3301,7 @@
                 /**
                 * UTF conversion: convert into the customer format, before being used*/
                 pDecodedPath = out_3gp;
-                length = M4OSA_chrLength(pDecodedPath);
+                length = strlen(pDecodedPath);
 
                 if( xVSS_context->UTFConversionContext.pConvFromUTF8Fct
                     != M4OSA_NULL && xVSS_context->
@@ -3350,7 +3349,7 @@
                 * UTF conversion: convert into the customer format, before being used*/
 
                 pDecodedPath = out_3gp_tmp;
-                length = M4OSA_chrLength(pDecodedPath);
+                length = strlen(pDecodedPath);
 
                 if( xVSS_context->UTFConversionContext.pConvFromUTF8Fct
                     != M4OSA_NULL && xVSS_context->
@@ -3476,7 +3475,7 @@
                 }
                 else
                 {
-                    length = M4OSA_chrLength(pDecodedPath);
+                    length = strlen(pDecodedPath);
                 }
                 /**
                 * End of the UTF conversion, use the converted file path*/
@@ -3606,7 +3605,7 @@
             {
                 xVSS_context->pSettings->
                     Effects[j].xVSS.pFramingFilePath = M4OSA_malloc(
-                    M4OSA_chrLength(pSettings->Effects[j].xVSS.pFramingFilePath)
+                    strlen(pSettings->Effects[j].xVSS.pFramingFilePath)
                     + 1, M4VS, (M4OSA_Char *)"Local Framing file path");
 
                 if( xVSS_context->pSettings->Effects[j].xVSS.pFramingFilePath
@@ -3622,7 +3621,7 @@
                 M4OSA_memcpy((M4OSA_MemAddr8)xVSS_context->pSettings->
                     Effects[j].xVSS.pFramingFilePath,
                     (M4OSA_MemAddr8)pSettings->
-                    Effects[j].xVSS.pFramingFilePath, M4OSA_chrLength(
+                    Effects[j].xVSS.pFramingFilePath, strlen(
                     pSettings->Effects[j].xVSS.pFramingFilePath) + 1);
 
                 pExt2 =
@@ -3746,7 +3745,7 @@
             * UTF conversion: convert into the customer format, before being used*/
             pDecodedPath =
                 xVSS_context->pSettings->Effects[j].xVSS.pFramingFilePath;
-            length = M4OSA_chrLength(pDecodedPath);
+            length = strlen(pDecodedPath);
 
             if( xVSS_context->UTFConversionContext.pConvFromUTF8Fct
                 != M4OSA_NULL && xVSS_context->
@@ -3828,10 +3827,10 @@
             if( pExt2 != M4OSA_NULL )
             {
                 /* Decode the image associated to the effect, and fill framing structure */
-                pExt2 += (M4OSA_chrLength(pExt2) - 4);
+                pExt2 += (strlen((const char *)pExt2) - 4);
 
-                M4OSA_chrCompare(pExt2,(M4OSA_Char *)".rgb", &result1);
-                M4OSA_chrCompare(pExt2,(M4OSA_Char *)".RGB", &result2);
+                result1 = strcmp((const char *)pExt2,(const char *)".rgb");
+                result2 = strcmp((const char *)pExt2,(const char *)".RGB");
 
                 if( 0 == result1 || 0 == result2 )
                 {
@@ -4543,7 +4542,7 @@
             sizeof(M4xVSS_BGMSettings));
         /* Allocate file name, and copy file name buffer to our structure */
         xVSS_context->pSettings->xVSS.pBGMtrack->pFile =
-            M4OSA_malloc((M4OSA_chrLength(pSettings->xVSS.pBGMtrack->pFile)
+            M4OSA_malloc((strlen(pSettings->xVSS.pBGMtrack->pFile)
             + 1), M4VS, (M4OSA_Char *)"xVSS BGM file path");
 
         if( xVSS_context->pSettings->xVSS.pBGMtrack->pFile == M4OSA_NULL )
@@ -4553,8 +4552,8 @@
             return M4ERR_ALLOC;
         }
         M4OSA_memcpy(xVSS_context->pSettings->xVSS.pBGMtrack->pFile,
-            pSettings->xVSS.pBGMtrack->pFile,
-            M4OSA_chrLength(pSettings->xVSS.pBGMtrack->pFile) + 1);
+            (void *)pSettings->xVSS.pBGMtrack->pFile,
+            strlen(pSettings->xVSS.pBGMtrack->pFile) + 1);
 
 #ifdef PREVIEW_ENABLED
         /* Decode BGM track to pcm output file */
@@ -4613,7 +4612,7 @@
                     if( pParams_temp->pFileOut != M4OSA_NULL )
                     {
                         /* Remove PCM temporary file */
-                        M4OSA_fileExtraDelete(pParams_temp->pFileOut);
+                        remove((const char *)pParams_temp->pFileOut);
                         M4OSA_free((M4OSA_MemAddr32)pParams_temp->pFileOut);
                         pParams_temp->pFileOut = M4OSA_NULL;
                     }
@@ -4743,7 +4742,7 @@
         /* Prepare output filename */
         /* 21 is the size of "preview_16000_2.pcm" + \0 */
         out_pcm =
-            (M4OSA_Char *)M4OSA_malloc(M4OSA_chrLength(xVSS_context->pTempPath)
+            (M4OSA_Char *)M4OSA_malloc(strlen(xVSS_context->pTempPath)
             + 21, M4VS, (M4OSA_Char *)"Temp char* for pcmPreviewFile");
 
         if( out_pcm == M4OSA_NULL )
@@ -4755,7 +4754,7 @@
 
         /* Copy temporary path to final preview path string */
         M4OSA_chrNCopy(out_pcm, xVSS_context->pTempPath,
-            M4OSA_chrLength(xVSS_context->pTempPath) + 1);
+            strlen(xVSS_context->pTempPath) + 1);
 
         /* Depending of the output sample frequency and nb of channels, we construct preview
         output filename */
@@ -4765,12 +4764,12 @@
             /* Construct output temporary PCM filename */
             if( xVSS_context->pSettings->xVSS.bAudioMono == M4OSA_TRUE )
             {
-                M4OSA_chrNCat(out_pcm, (M4OSA_Char *)"preview_16000_1.pcm\0",
+                strncat((char *)out_pcm, (const char *)"preview_16000_1.pcm\0",
                     20);
             }
             else
             {
-                M4OSA_chrNCat(out_pcm, (M4OSA_Char *)"preview_16000_2.pcm\0",
+                strncat((char *)out_pcm, (const char *)"preview_16000_2.pcm\0",
                     20);
             }
         }
@@ -4778,7 +4777,7 @@
             == M4VIDEOEDITING_kAMR_NB )
         {
             /* Construct output temporary PCM filename */
-            M4OSA_chrNCat(out_pcm, (M4OSA_Char *)"preview_08000_1.pcm\0", 20);
+            strncat((char *)out_pcm, (const char *)"preview_08000_1.pcm\0", 20);
         }
         else
         {
@@ -4797,7 +4796,7 @@
         /**
         * UTF conversion: convert into the customer format, before being used*/
         pDecodedPath = out_pcm;
-        length = M4OSA_chrLength(pDecodedPath);
+        length = strlen(pDecodedPath);
 
         if( xVSS_context->UTFConversionContext.pConvFromUTF8Fct != M4OSA_NULL
             && xVSS_context->UTFConversionContext.pTempOutConversionBuffer
@@ -4863,7 +4862,7 @@
 #if 0
 
         xVSS_context->pcmPreviewFile =
-            (M4OSA_Char *)M4OSA_malloc(M4OSA_chrLength(out_pcm) + 1, M4VS,
+            (M4OSA_Char *)M4OSA_malloc(strlen(out_pcm) + 1, M4VS,
             "pcmPreviewFile");
 
         if( xVSS_context->pcmPreviewFile == M4OSA_NULL )
@@ -4878,7 +4877,7 @@
             return M4ERR_ALLOC;
         }
         M4OSA_chrNCopy(xVSS_context->pcmPreviewFile, out_pcm,
-            M4OSA_chrLength(out_pcm) + 1);
+            strlen(out_pcm) + 1);
 
         /* Free temporary output filename */
         if( out_pcm != M4OSA_NULL )
@@ -4893,7 +4892,7 @@
         * UTF conversion: convert into the customer format, before being used*/
 
         pDecodedPath = xVSS_context->pSettings->xVSS.pBGMtrack->pFile;
-        length = M4OSA_chrLength(pDecodedPath);
+        length = strlen(pDecodedPath);
 
         if( xVSS_context->UTFConversionContext.pConvFromUTF8Fct != M4OSA_NULL
             && xVSS_context->UTFConversionContext.pTempOutConversionBuffer
@@ -5125,7 +5124,7 @@
                     * UTF conversion: convert into the customer format, before being used*/
                     pDecodedPath =
                         xVSS_context->pSettings->xVSS.pBGMtrack->pFile;
-                    length = M4OSA_chrLength(pDecodedPath);
+                    length = strlen(pDecodedPath);
 
                     if( xVSS_context->UTFConversionContext.pConvFromUTF8Fct
                         != M4OSA_NULL && xVSS_context->
@@ -5546,7 +5545,7 @@
             /**
             * UTF conversion: convert into the customer format, before being used*/
             pDecodedPath = pEditSavingSettings->pClipList[i]->pFile;
-            length = M4OSA_chrLength(pDecodedPath);
+            length = strlen(pDecodedPath);
 
             if( xVSS_context->UTFConversionContext.pConvFromUTF8Fct
                 != M4OSA_NULL && xVSS_context->
@@ -5715,7 +5714,7 @@
 
         /* Allocate file name, and copy file name buffer to our structure */
         pEditSavingSettings->xVSS.pBGMtrack->pFile = M4OSA_malloc(
-            (M4OSA_chrLength(xVSS_context->pSettings->xVSS.pBGMtrack->pFile)
+            (strlen(xVSS_context->pSettings->xVSS.pBGMtrack->pFile)
             + 1),
             M4VS, (M4OSA_Char *)"Saving struct xVSS BGM file path");
 
@@ -5733,7 +5732,7 @@
         }
         M4OSA_memcpy(pEditSavingSettings->xVSS.pBGMtrack->pFile,
             xVSS_context->pSettings->xVSS.pBGMtrack->pFile,
-            M4OSA_chrLength(xVSS_context->pSettings->xVSS.pBGMtrack->pFile)
+            strlen(xVSS_context->pSettings->xVSS.pBGMtrack->pFile)
             + 1);
 
         /*Copy BGM track file path*/
@@ -5792,13 +5791,13 @@
         M4OSA_chrNCopy(out_3gp_tmp, xVSS_context->pTempPath, M4XVSS_MAX_PATH_LEN - 1);
 
         /* Construct output temporary 3GP filename */
-        M4OSA_chrNCat(out_3gp, (M4OSA_Char *)"savetemp.3gp\0", 13);
-        M4OSA_chrNCat(out_3gp_tmp, (M4OSA_Char *)"savetemp.tmp\0", 13);
+        strncat((char *)out_3gp, (const char *)"savetemp.3gp\0", 13);
+        strncat((char *)out_3gp_tmp, (const char *)"savetemp.tmp\0", 13);
 
         /**
         * UTF conversion: convert into the customer format, before being used*/
         pDecodedPath = out_3gp;
-        length = M4OSA_chrLength(pDecodedPath);
+        length = strlen(pDecodedPath);
 
         if( xVSS_context->UTFConversionContext.pConvFromUTF8Fct != M4OSA_NULL
             && xVSS_context->UTFConversionContext.pTempOutConversionBuffer
@@ -5849,7 +5848,7 @@
         /**
         * UTF conversion: convert into the customer format, before being used*/
         pDecodedPath = out_3gp_tmp;
-        length = M4OSA_chrLength(pDecodedPath);
+        length = strlen(pDecodedPath);
 
         if( xVSS_context->UTFConversionContext.pConvFromUTF8Fct != M4OSA_NULL
             && xVSS_context->UTFConversionContext.pTempOutConversionBuffer
@@ -6105,45 +6104,45 @@
                                     - 1].pFile, (M4OSA_Void *)xVSS_context->
                                     UTFConversionContext.
                                     pTempOutConversionBuffer, &ConvertedSize);
-                                err = M4OSA_chrFindPattern(xVSS_context->
+                                toto = (M4OSA_Char *)strstr((const char *)xVSS_context->
                                     UTFConversionContext.
                                     pTempOutConversionBuffer,
-                                    xVSS_context->pTempPath, &toto);
+                                    (const char *)xVSS_context->pTempPath);
                                 pTmpStr =
                                     xVSS_context->UTFConversionContext.
                                     pTempOutConversionBuffer;
                             }
                             else
                             {
-                                err = M4OSA_chrFindPattern(pVSSContext->
+                                toto = (M4OSA_Char *)strstr((const char *)pVSSContext->
                                     pClipList[pVSSContext->uiCurrentClip
-                                    - 1].pFile, xVSS_context->pTempPath, &toto);
+                                    - 1].pFile, (const char *)xVSS_context->pTempPath);
                                 pTmpStr = pVSSContext->
                                     pClipList[pVSSContext->uiCurrentClip
                                     - 1].pFile;
                             }
 
-                            if( err == M4NO_ERROR )
+                            if( toto != M4OSA_NULL )
                             {
                                 /* As temporary files can be imgXXX.3gp or vidXXX.3gp */
                                 pTmpStr +=
-                                    (M4OSA_chrLength(pTmpStr)
+                                    (strlen((const char *)pTmpStr)
                                     - 10); /* Because temporary files have a length at most of
                                     10 bytes */
-                                err = M4OSA_chrFindPattern(pTmpStr,
-                                    (M4OSA_Char *)"img", &toto);
+                                toto = (M4OSA_Char *)strstr((const char *)pTmpStr,
+                                    (const char *)"img");
 
-                                if( err != M4NO_ERROR )
+                                if( toto != M4OSA_NULL )
                                 {
-                                    err = M4OSA_chrFindPattern(pTmpStr,
-                                        (M4OSA_Char *)"vid", &toto);
+                                    toto = (M4OSA_Char *)strstr((const char *)pTmpStr,
+                                        (const char *)"vid");
                                 }
 
                                 if( err
                                     == M4NO_ERROR ) /* It means the file is a temporary file, we
                                     can delete it */
                                 {
-                                    M4OSA_fileExtraDelete(pVSSContext->
+                                    remove((const char *)pVSSContext->
                                         pClipList[pVSSContext->uiCurrentClip
                                         - 1].pFile);
                                 }
diff --git a/libvideoeditor/vss/src/M4xVSS_internal.c b/libvideoeditor/vss/src/M4xVSS_internal.c
index f32257a..4e4489d 100755
--- a/libvideoeditor/vss/src/M4xVSS_internal.c
+++ b/libvideoeditor/vss/src/M4xVSS_internal.c
@@ -1628,7 +1628,7 @@
     /**
      * Generate "dummy" amr file containing silence in temporary folder */
     M4OSA_chrNCopy(out_amr, xVSS_context->pTempPath, M4XVSS_MAX_PATH_LEN - 1);
-    M4OSA_chrNCat(out_amr, (M4OSA_Char *)"dummy.amr\0", 10);
+    strncat((char *)out_amr, (const char *)"dummy.amr\0", 10);
 
     /**
      * UTF conversion: convert the temporary path into the customer format*/
@@ -1803,7 +1803,7 @@
     /**
      * Remove dummy.amr file */
     M4OSA_chrNCopy(out_amr, xVSS_context->pTempPath, M4XVSS_MAX_PATH_LEN - 1);
-    M4OSA_chrNCat(out_amr, (M4OSA_Char *)"dummy.amr\0", 10);
+    strncat((char *)out_amr, (const char *)"dummy.amr\0", 10);
 
     /**
      * UTF conversion: convert the temporary path into the customer format*/
@@ -1825,10 +1825,10 @@
     }
     /**
     * End of the conversion, now use the decoded path*/
-    M4OSA_fileExtraDelete(pDecodedPath);
+    remove((const char *)pDecodedPath);
 
     /*Commented because of the use of the UTF conversion*/
-/*    M4OSA_fileExtraDelete(out_amr);
+/*    remove(out_amr);
  */
 
     xVSS_context->pM4PTO3GPP_Ctxt = M4OSA_NULL;
@@ -2938,7 +2938,7 @@
      * Free temporary preview file path */
     if(xVSS_context->pCurrentEditSettings->pTemporaryFile != M4OSA_NULL)
     {
-        M4OSA_fileExtraDelete(xVSS_context->pCurrentEditSettings->pTemporaryFile);
+        remove((const char *)xVSS_context->pCurrentEditSettings->pTemporaryFile);
         M4OSA_free(xVSS_context->pCurrentEditSettings->pTemporaryFile);
         xVSS_context->pCurrentEditSettings->pTemporaryFile = M4OSA_NULL;
     }
@@ -3042,7 +3042,7 @@
         {
             if(xVSS_context->pCurrentEditSettings->xVSS.pBGMtrack != M4OSA_NULL)
             {
-                M4OSA_fileExtraDelete(xVSS_context->pCurrentEditSettings->pOutputFile);
+                remove((const char *)xVSS_context->pCurrentEditSettings->pOutputFile);
                 M4OSA_free(xVSS_context->pCurrentEditSettings->pOutputFile);
             }
             if(xVSS_context->pOutputFile != M4OSA_NULL)
@@ -3058,7 +3058,7 @@
          * Free temporary saving file path */
         if(xVSS_context->pCurrentEditSettings->pTemporaryFile != M4OSA_NULL)
         {
-            M4OSA_fileExtraDelete(xVSS_context->pCurrentEditSettings->pTemporaryFile);
+            remove((const char *)xVSS_context->pCurrentEditSettings->pTemporaryFile);
             M4OSA_free(xVSS_context->pCurrentEditSettings->pTemporaryFile);
             xVSS_context->pCurrentEditSettings->pTemporaryFile = M4OSA_NULL;
         }
@@ -3156,12 +3156,12 @@
                                      M4xVSS_kVideoTransitionType_AlphaMagic)
                                     {
                                         M4OSA_UInt32 pCmpResult=0;
-                                        M4OSA_chrCompare(pSettings->pTransitionList[i]->\
+                                        pCmpResult = strcmp((const char *)pSettings->pTransitionList[i]->\
                                             xVSS.transitionSpecific.pAlphaMagicSettings->\
                                                 pAlphaFilePath,
-                                                pSettings->pTransitionList[j]->\
+                                                (const char *)pSettings->pTransitionList[j]->\
                                                 xVSS.transitionSpecific.pAlphaMagicSettings->\
-                                                pAlphaFilePath, (M4OSA_Int32 *)&pCmpResult);
+                                                pAlphaFilePath);
                                         if(pCmpResult == 0)
                                         {
                                             /* Free extra internal alpha magic structure and put
@@ -3496,12 +3496,12 @@
                                     VideoTransitionType == M4xVSS_kVideoTransitionType_AlphaMagic)
                                 {
                                     M4OSA_UInt32 pCmpResult=0;
-                                    M4OSA_chrCompare(xVSS_context->pSettings->pTransitionList[i]->\
+                                    pCmpResult = strcmp((const char *)xVSS_context->pSettings->pTransitionList[i]->\
                                         xVSS.transitionSpecific.pAlphaMagicSettings->\
                                             pAlphaFilePath,
-                                        xVSS_context->pSettings->pTransitionList[j]->\
+                                        (const char *)xVSS_context->pSettings->pTransitionList[j]->\
                                             xVSS.transitionSpecific.pAlphaMagicSettings->\
-                                                pAlphaFilePath, &pCmpResult);
+                                                pAlphaFilePath);
                                     if(pCmpResult == 0)
                                         {
                                         /* Free extra internal alpha magic structure and put it
@@ -3549,7 +3549,7 @@
             if(pParams->pFileOut != M4OSA_NULL)
             {
                 /* Delete temporary file */
-                M4OSA_fileExtraDelete(pParams->pFileOut);
+                remove((const char *)pParams->pFileOut);
                 M4OSA_free((M4OSA_MemAddr32)pParams->pFileOut);
                 pParams->pFileOut = M4OSA_NULL;
             }
@@ -3557,7 +3557,7 @@
             {
                 /* Delete temporary file */
 #ifdef M4xVSS_RESERVED_MOOV_DISK_SPACE
-                M4OSA_fileExtraDelete(pParams->pFileTemp);
+                remove((const char *)pParams->pFileTemp);
                 M4OSA_free((M4OSA_MemAddr32)pParams->pFileTemp);
 #endif/*M4xVSS_RESERVED_MOOV_DISK_SPACE*/
                 pParams->pFileTemp = M4OSA_NULL;
@@ -3584,7 +3584,7 @@
             if(pParams->pFileOut != M4OSA_NULL)
             {
                 /* Delete temporary file */
-                M4OSA_fileExtraDelete(pParams->pFileOut);
+                remove((const char *)pParams->pFileOut);
                 M4OSA_free((M4OSA_MemAddr32)pParams->pFileOut);
                 pParams->pFileOut = M4OSA_NULL;
             }
@@ -3592,7 +3592,7 @@
             {
                 /* Delete temporary file */
 #ifdef M4xVSS_RESERVED_MOOV_DISK_SPACE
-                M4OSA_fileExtraDelete(pParams->pFileTemp);
+                remove((const char *)pParams->pFileTemp);
                 M4OSA_free((M4OSA_MemAddr32)pParams->pFileTemp);
 #endif/*M4xVSS_RESERVED_MOOV_DISK_SPACE*/
                 pParams->pFileTemp = M4OSA_NULL;