OSDN Git Service

* Implement: Support DrDeamon64 Error System for drd64_libedittext_linectrl.c/drd64_l...
authorKoine Yuusuke(koinec) <koinec@users.sourceforge.jp>
Mon, 1 Jun 2015 20:28:06 +0000 (05:28 +0900)
committerKoine Yuusuke(koinec) <koinec@users.sourceforge.jp>
Mon, 1 Jun 2015 20:28:06 +0000 (05:28 +0900)
* WorkBackup: 2015/06/02(Tue) AM 05:28

include/drd64_error.h
libbrownie/drd64_libbrownie_error.c
libedittext/drd64_libedittext_linectrl.c
libedittext/drd64_libedittext_lineedit.c
libedittext/drd64_libedittext_section.c

index 85bd0bc..1bf934e 100644 (file)
@@ -92,6 +92,8 @@ DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD*/
 #define        DRD64_ERROR_PTN_LESSBUFFER              0x000d0000
 #define        DRD64_ERROR_PTN_NULLPTR                 0x000e0000
 #define        DRD64_ERROR_PTN_CALLFUNC                0x000f0000
+#define        DRD64_ERROR_PTN_FAILCALL                0x00100000
+#define        DRD64_ERROR_PTN_OTHER                   0x007f0000
 #define        DRD64_ERROR_PTN_BUG                             0x00ff0000
 
 /* [Error] Error Code Level-1 =========   ____**__ */
index 3a69fe6..4dbc372 100644 (file)
@@ -121,6 +121,10 @@ int
                                pstr_errptn     = "NULL Pointer";               break;
                case DRD64_ERROR_PTN_CALLFUNC:
                                pstr_errptn     = "Call Function Internal Error";       break;
+               case DRD64_ERROR_PTN_FAILCALL:
+                               pstr_errptn     = "Fail Call Function";                         break;
+               case DRD64_ERROR_PTN_OTHER:
+                               pstr_errptn     = "General Errors";                                     break;
                case DRD64_ERROR_PTN_BUG:
                                pstr_errptn     = "BUG!!";                              break;
                case DRD64_ERROR_PTN_NOERROR:
index ea8a8d1..2738fd5 100644 (file)
@@ -37,9 +37,15 @@ Comment:
 #define        DRD64_SRC_LIBEDITTEXT_LINECTRL
 #include"drd64_libedittext.h"
 
+#define        DRD64_SRC_LIBEDITTEXT_LINECTRL_SRCID    0x04
+#define        LOCATION(n)     DRD64_ERR_LOCATION( \
+                                               DRD64_ERROR_MODULE_LIBEDITTEXT, DRD64_ERROR_ARCH_NODEPEND, \
+                                               DRD64_SRC_LIBEDITTEXT_LINECTRL_SRCID, (n))
+
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_LineCtrl_DeleteLine  0x01
 LIBEDITTEXT_LINECTRL_EXTERN
 int
        LibEditText_LineCtrl_DeleteLine(
@@ -83,11 +89,25 @@ int
 
        // Remove SortChain ---
        i_result        = LibEditText_LineInfo_RemoveSortChain( p_tinfo, p_line );
-       if( 0x00 != i_result )  { return i_result; }
+       if( 0x00 != i_result )  {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x01 ),
+                               LOCATION( FUNCID_LibEditText_LineCtrl_DeleteLine ),
+                               errno, (QWord)i_result, (QWord)0x00, __LINE__ ); 
+
+               return i_result;
+       }
 
        // Add EmptyChain ---
        i_result        = LibEditText_LineInfo_SetEmptyLineChain( p_tinfo, p_line );
-       if( 0x00 != i_result )  { return i_result; }
+       if( 0x00 != i_result )  {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x02 ),
+                               LOCATION( FUNCID_LibEditText_LineCtrl_DeleteLine ),
+                               errno, (QWord)i_result, (QWord)0x00, __LINE__ ); 
+
+               return i_result;
+       }
 
        p_tinfo->dw_maxline--;
 
@@ -97,6 +117,7 @@ int
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_DeleteLine_toLine    0x02
 LIBEDITTEXT_API_LINECTRL
 int
        LibEditText_DeleteLine_toLine(
@@ -107,9 +128,22 @@ int
        LibEditText_TextInfo    *p_tinfo;
        LibEditText_LineInfo    *p_line;
 
-       if( 0 > i_tinfoid )             { return -0x01; }
+       if( 0 > i_tinfoid )             {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x01 ),
+                               LOCATION( FUNCID_LibEditText_DeleteLine_toLine ),
+                               errno, (QWord)i_tinfoid, (QWord)dw_line, __LINE__ ); 
+
+               return -0x01; }
        p_tinfo = LibEditText_System_GetTextInfo( i_tinfoid );
-       if( NULL == p_tinfo )   { return -0x02; }
+       if( NULL == p_tinfo )   {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_NULLPTR, 0x01, 0x02 ),
+                               LOCATION( FUNCID_LibEditText_DeleteLine_toLine ),
+                               errno, (QWord)i_tinfoid, (QWord)dw_line, __LINE__ ); 
+
+               return -0x02;
+       }
 
        p_line  = LibEditText_Section_SearchLine( p_tinfo, dw_line );
        assert( NULL != p_line );
@@ -122,6 +156,7 @@ int
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_LineCtrl_JoinLine    0x03
 LIBEDITTEXT_LINECTRL_EXTERN
 int
        LibEditText_LineCtrl_JoinLine(
@@ -138,10 +173,22 @@ int
        assert( NULL != p_tinfo );
        assert( NULL != p_ldest );
 
-       if(( 1 >= p_tinfo->dw_maxline ) && ( 0 == dw_line ))
-               { return 0x01; }
-       if( p_tinfo->dw_line_end == p_ldest->dw_id )
-               { return 0x01; }
+       if(( 1 >= p_tinfo->dw_maxline ) && ( 0 == dw_line ))    {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_WARNING( DRD64_ERROR_PTN_FAILED_ARG, 0x00, 0x01 ),
+                               LOCATION( FUNCID_LibEditText_LineCtrl_JoinLine ),
+                               errno, (QWord)p_tinfo->dw_maxline, (QWord)dw_line, __LINE__ ); 
+
+               return 0x01;
+       }
+       if( p_tinfo->dw_line_end == p_ldest->dw_id )    {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_WARNING( DRD64_ERROR_PTN_FAILED_ARG, 0x00, 0x02 ),
+                               LOCATION( FUNCID_LibEditText_LineCtrl_JoinLine ),
+                               errno, (QWord)p_tinfo->dw_line_end, (QWord)p_ldest->dw_id, __LINE__ ); 
+
+               return 0x02;
+       }
 
        p_lsrc  = LINFO(p_tinfo, p_ldest->dw_next);
        assert( NULL != p_lsrc );
@@ -150,7 +197,14 @@ int
        if((p_ldest->dw_strlen + p_lsrc->dw_strlen + 5) > p_ldest->dw_linelen )         {
                i_result        = LibEditText_LineInfo_ExpandLineBuffer(
                                                                p_tinfo, p_ldest, p_lsrc->dw_linelen );
-               if( 0x00 != i_result )  { return -0x02; }
+               if( 0x00 != i_result )  {
+                       LibBrownie_Error_SetErrorInfo(
+                                       DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x03 ),
+                                       LOCATION( FUNCID_LibEditText_LineCtrl_JoinLine ),
+                                       errno, (QWord)i_result, (QWord)0x00, __LINE__ ); 
+
+                       return -0x03;
+               }
        }
 
        pb_src  = p_tinfo->pb_text + p_lsrc->dw_start;
@@ -167,7 +221,14 @@ int
 
        // delete line
        i_result        = LibEditText_LineCtrl_DeleteLine( p_tinfo, p_lsrc, dw_line + 1 );
-       if( 0x00 != i_result )  { return -0x02; }
+       if( 0x00 != i_result )  {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x04 ),
+                               LOCATION( FUNCID_LibEditText_LineCtrl_JoinLine ),
+                               errno, (QWord)i_result, (QWord)0x00, __LINE__ ); 
+
+               return -0x04;
+       }
        
        return 0x00;
 }
@@ -175,6 +236,7 @@ int
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_JoinLine_toLine      0x04
 LIBEDITTEXT_API_LINECTRL
 int
        LibEditText_JoinLine_toLine(
@@ -185,9 +247,23 @@ int
        LibEditText_TextInfo    *p_tinfo;
        LibEditText_LineInfo    *p_line;
        
-       if( 0 > i_tinfoid )             { return -0x01; }
+       if( 0 > i_tinfoid )             {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x01 ),
+                               LOCATION( FUNCID_LibEditText_JoinLine_toLine ),
+                               errno, (QWord)i_tinfoid, (QWord)0x00, __LINE__ ); 
+
+               return -0x01;
+       }
        p_tinfo = LibEditText_System_GetTextInfo( i_tinfoid );
-       if( NULL == p_tinfo )   { return -0x02; }
+       if( NULL == p_tinfo )   {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_NULLPTR, 0x01, 0x02 ),
+                               LOCATION( FUNCID_LibEditText_JoinLine_toLine ),
+                               errno, (QWord)i_tinfoid, (QWord)0x00, __LINE__ ); 
+
+               return -0x02;
+       }
 
        p_line  = LibEditText_Section_SearchLine( p_tinfo, dw_line );
        assert( NULL != p_line );
@@ -200,6 +276,7 @@ int
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_LineCtrl_InsertLine  0x05
 LIBEDITTEXT_LINECTRL_EXTERN
 int
        LibEditText_LineCtrl_InsertLine(
@@ -225,7 +302,14 @@ int
        // Get LineInfo struct
        dw_buflength    = dw_strlen + DRD64_LIBEDITTEXT_DEFAULT_RESERVEBUF_INLINE;
        p_line  = LibEditText_LineInfo_GetEmptyLineInfo( p_tinfo, dw_buflength );
-       if( NULL == p_line )    { return -0x11; }
+       if( NULL == p_line )    {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x11 ),
+                               LOCATION( FUNCID_LibEditText_LineCtrl_InsertLine ),
+                               errno, (QWord)dw_buflength, (QWord)0x00, __LINE__ ); 
+
+               return -0x11;
+       }
 
        p_lnext = LibEditText_Section_SearchLine( p_tinfo, dw_line );
        assert( NULL != p_lnext );
@@ -245,7 +329,14 @@ int
 
        // Set LineInfo to SortChain
        i_result    = LibEditText_LineInfo_AddSortChain( p_tinfo, p_line );
-       if( 0x00 != i_result )  { return -0x12; }
+       if( 0x00 != i_result )  {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x12 ),
+                               LOCATION( FUNCID_LibEditText_LineCtrl_InsertLine ),
+                               errno, (QWord)i_result, (QWord)0x00, __LINE__ ); 
+
+               return -0x12;
+       }
 
        // Set Init. TextData
        p_line->dw_strlen       = dw_strlen;
@@ -255,7 +346,14 @@ int
 
        // Adjust LineSection
        i_result        = LibEditText_Section_InsertLine( p_tinfo, dw_line );
-       if( 0x00 != i_result )  { return -0x13; }
+       if( 0x00 != i_result )  {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x13 ),
+                               LOCATION( FUNCID_LibEditText_LineCtrl_InsertLine ),
+                               errno, (QWord)i_result, (QWord)0x00, __LINE__ ); 
+
+               return -0x13;
+       }
 
        p_tinfo->dw_maxline++;
 
@@ -265,6 +363,7 @@ int
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_InsertLine_toLine    0x06
 LIBEDITTEXT_API_LINECTRL
 int
        LibEditText_InsertLine_toLine(
@@ -276,11 +375,32 @@ int
        int                                             i_result;
        LibEditText_TextInfo    *p_tinfo;
 
-       if( 0 > i_tinfoid )             { return -0x01; }
+       if( NULL == pstr_text ) {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x03 ),
+                               LOCATION( FUNCID_LibEditText_InsertLine_toLine ),
+                               errno, (QWord)0x00, (QWord)0x00, __LINE__ ); 
+
+               return -0x01;
+       }
+
+       if( 0 > i_tinfoid )             {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x02 ),
+                               LOCATION( FUNCID_LibEditText_InsertLine_toLine ),
+                               errno, (QWord)i_tinfoid, (QWord)0x00, __LINE__ ); 
+
+               return -0x02;
+       }
        p_tinfo = LibEditText_System_GetTextInfo( i_tinfoid );
-       if( NULL == p_tinfo )   { return -0x02; }
+       if( NULL == p_tinfo )   {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x03 ),
+                               LOCATION( FUNCID_LibEditText_InsertLine_toLine ),
+                               errno, (QWord)i_tinfoid, (QWord)0x00, __LINE__ ); 
 
-       if( NULL == pstr_text ) { return -0x03; }
+               return -0x03;
+       }
 
        if( p_tinfo->dw_maxline < (dw_line + 1) )       {
                i_result        = LibEditText_LineCtrl_AppendLine(
@@ -297,6 +417,7 @@ int
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_LineCtrl_AppendLine  0x07
 LIBEDITTEXT_LINECTRL_EXTERN
 int
        LibEditText_LineCtrl_AppendLine(
@@ -331,7 +452,14 @@ goto_LibEditText_LineCtrl_AppendLine_prechecked:
 
        dw_buflength    = dw_length + DRD64_LIBEDITTEXT_DEFAULT_RESERVEBUF_INLINE;
        p_line  = LibEditText_LineInfo_GetEmptyLineInfo( p_tinfo, dw_buflength );
-       if( NULL == p_line )    { return -0x11; }
+       if( NULL == p_line )    {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x11 ),
+                               LOCATION( FUNCID_LibEditText_LineCtrl_AppendLine ),
+                               errno, (QWord)dw_buflength, (QWord)0x00, __LINE__ ); 
+
+               return -0x11;
+       }
 
        /* ReSet p_before for if expand LineInfo memory in GetEmptyLineInfo() func.. */
        p_before        = LINFO(p_tinfo, p_tinfo->dw_line_end);
@@ -347,6 +475,11 @@ goto_LibEditText_LineCtrl_AppendLine_prechecked:
 
        i_result    = LibEditText_LineInfo_AddSortChain( p_tinfo, p_line );
        if( 0x00 != i_result )  {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x12 ),
+                               LOCATION( FUNCID_LibEditText_LineCtrl_AppendLine ),
+                               errno, (QWord)i_result, (QWord)0x00, __LINE__ ); 
+
                return -0x12;
        }
 
@@ -357,7 +490,14 @@ goto_LibEditText_LineCtrl_AppendLine_prechecked:
        /* Normal Append Mode is b_mode=0x00. */
        if( 0x00 == b_mode )    {
                i_result        = LibEditText_Section_AddSection( p_tinfo );
-               if( 0x00 > i_result )           { return i_result; }
+               if( 0x00 > i_result )           {
+                       LibBrownie_Error_SetErrorInfo(
+                                       DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x20 ),
+                                       LOCATION( FUNCID_LibEditText_LineCtrl_AppendLine ),
+                                       errno, (QWord)i_result, (QWord)0x00, __LINE__ ); 
+
+                       return i_result;
+               }
                else if( 0x00 < i_result )      { i_result      = 0x00; }
 
                p_tinfo->dw_maxline++;
@@ -369,6 +509,7 @@ goto_LibEditText_LineCtrl_AppendLine_prechecked:
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_AppendLine   0x08
 LIBEDITTEXT_API_LINECTRL
 int
        LibEditText_AppendLine(
@@ -379,12 +520,33 @@ int
        int                                             i_result;
        LibEditText_TextInfo    *p_tinfo;
 
-       if( 0 > i_tinfoid )             { return -0x01; }
-       p_tinfo = LibEditText_System_GetTextInfo( i_tinfoid );
-       if( NULL == p_tinfo )   { return -0x02; }
+       if( NULL == pstr_text ) {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x01 ),
+                               LOCATION( FUNCID_LibEditText_AppendLine ),
+                               errno, (QWord)0x00, (QWord)0x00, __LINE__ ); 
 
-       if( NULL == pstr_text ) { return -0x03; }
+               return -0x01;
+       }
        
+       if( 0 > i_tinfoid )             {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x02 ),
+                               LOCATION( FUNCID_LibEditText_AppendLine ),
+                               errno, (QWord)i_tinfoid, (QWord)0x00, __LINE__ ); 
+
+               return -0x02;
+       }
+       p_tinfo = LibEditText_System_GetTextInfo( i_tinfoid );
+       if( NULL == p_tinfo )   {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_NULLPTR, 0x01, 0x03 ),
+                               LOCATION( FUNCID_LibEditText_AppendLine ),
+                               errno, (QWord)i_tinfoid, (QWord)0x00, __LINE__ ); 
+
+               return -0x03;
+       }
+
        i_result        = LibEditText_LineCtrl_AppendLine( p_tinfo, (Byte *)pstr_text, dw_length, 0x00 );
        
        return i_result;
index 46921ee..bd6ec97 100644 (file)
@@ -37,9 +37,14 @@ Comment:
 #define        DRD64_SRC_LIBEDITTEXT_LINEEDIT
 #include"drd64_libedittext.h"
 
+#define        DRD64_SRC_LIBEDITTEXT_LINEEDIT_SRCID    0x05
+#define        LOCATION(n)     DRD64_ERR_LOCATION( \
+                                               DRD64_ERROR_MODULE_LIBEDITTEXT, DRD64_ERROR_ARCH_NODEPEND, \
+                                               DRD64_SRC_LIBEDITTEXT_LINEEDIT_SRCID, (n))
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_LineEdit_DeleteString        0x01
 LIBEDITTEXT_LINEEDIT_EXTERN
 int
        LibEditText_LineEdit_DeleteString(
@@ -86,6 +91,7 @@ goto_LibEditText_LineEdit_DeleteString_post:
 
 /*======================================================================
 ======================================================================*/
+#define        FUNCID_LibEditText_DeleteString_toLine          0x02
 LIBEDITTEXT_API_LINEEDIT
 int
        LibEditText_DeleteString_toLine(
@@ -98,18 +104,52 @@ int
        LibEditText_TextInfo    *p_tinfo;
        LibEditText_LineInfo    *p_line;
 
-       if( 0 > i_tinfoid )             { return -0x01; }
+       if( 0 > i_tinfoid )             {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x01 ),
+                               LOCATION( FUNCID_LibEditText_DeleteString_toLine ),
+                               errno, (QWord)i_tinfoid, (QWord)0x00, __LINE__ ); 
+
+               return -0x01;
+       }
        p_tinfo = LibEditText_System_GetTextInfo( i_tinfoid );
-       if( NULL == p_tinfo     )       { return -0x02; }
+       if( NULL == p_tinfo     )       {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x02 ),
+                               LOCATION( FUNCID_LibEditText_DeleteString_toLine ),
+                               errno, (QWord)i_tinfoid, (QWord)0x00, __LINE__ ); 
+
+               return -0x02;
+       }
 
        /* Check Line in TextBuffer range ---*/
-       if( p_tinfo->dw_maxline <= dw_line )
-               { return -0x03; }
+       if( p_tinfo->dw_maxline <= dw_line )    {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x03 ),
+                               LOCATION( FUNCID_LibEditText_DeleteString_toLine ),
+                               errno, (QWord)p_tinfo->dw_maxline, (QWord)dw_line, __LINE__ ); 
+
+               return -0x03;
+       }
 
        p_line  = LibEditText_Section_SearchLine( p_tinfo, dw_line );
-       if( NULL == p_line )    { return -0x03; }
+       if( NULL == p_line )    {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x04 ),
+                               LOCATION( FUNCID_LibEditText_DeleteString_toLine ),
+                               errno, (QWord)0x00, (QWord)dw_line, __LINE__ ); 
 
-       if( p_line->dw_strlen < dw_pos + dw_len )       { return -0x04; }
+               return -0x04;
+       }
+
+       if( p_line->dw_strlen < dw_pos + dw_len )       {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x05 ),
+                               LOCATION( FUNCID_LibEditText_DeleteString_toLine ),
+                               errno, (QWord)(dw_pos+dw_len), (QWord)p_line->dw_strlen, __LINE__ ); 
+
+               return -0x05;
+       }
 
        i_result        = LibEditText_LineEdit_DeleteString(
                                                p_tinfo, p_line, dw_line, dw_pos, dw_len );
@@ -120,6 +160,7 @@ int
 
 /*======================================================================
 ======================================================================*/
+#define        FUNCID_LibEditText_BackSpace_toLine             0x03
 LIBEDITTEXT_API_LINEEDIT
 int
        LibEditText_BackSpace_toLine(
@@ -131,24 +172,65 @@ int
        LibEditText_TextInfo    *p_tinfo;
        LibEditText_LineInfo    *p_line;
 
-       if( 0 > i_tinfoid )             { return -0x01; }
+       if( 0 > i_tinfoid )             {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x01 ),
+                               LOCATION( FUNCID_LibEditText_BackSpace_toLine ),
+                               errno, (QWord)i_tinfoid, (QWord)0x00, __LINE__ ); 
+
+               return -0x01;
+       }
        p_tinfo = LibEditText_System_GetTextInfo( i_tinfoid );
-       if( NULL == p_tinfo     )       { return -0x02; }
+       if( NULL == p_tinfo     )       {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_NULLPTR, 0x01, 0x02 ),
+                               LOCATION( FUNCID_LibEditText_BackSpace_toLine ),
+                               errno, (QWord)i_tinfoid, (QWord)0x00, __LINE__ ); 
+
+               return -0x02;
+       }
 
        /* Check Line in TextBuffer range ---*/
-       if( p_tinfo->dw_maxline <= dw_line )
-               { return -0x03; }
+       if( p_tinfo->dw_maxline <= dw_line )    {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x03 ),
+                               LOCATION( FUNCID_LibEditText_BackSpace_toLine ),
+                               errno, (QWord)p_tinfo->dw_maxline, (QWord)dw_line, __LINE__ ); 
+
+               return -0x03;
+       }
 
        p_line  = LibEditText_Section_SearchLine( p_tinfo, dw_line );
-       if( NULL == p_line )    { return -0x03; }
+       if( NULL == p_line )    {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_NULLPTR, 0x01, 0x04 ),
+                               LOCATION( FUNCID_LibEditText_BackSpace_toLine ),
+                               errno, (QWord)dw_line, (QWord)0x00, __LINE__ ); 
 
-       if( dw_pos >= p_line->dw_strlen )       { return -0x05; }
+               return -0x04;
+       }
+
+       if( dw_pos >= p_line->dw_strlen )       {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x05 ),
+                               LOCATION( FUNCID_LibEditText_BackSpace_toLine ),
+                               errno, (QWord)dw_pos, (QWord)p_line->dw_strlen, __LINE__ ); 
+
+               return -0x05;
+       }
 
        if( 0 < dw_pos )        {
                i_result        = LibEditText_LineEdit_DeleteString(
                                                        p_tinfo, p_line, dw_line, dw_pos - 1, 1 );
        } else  {
-               if( 0 == dw_line )      { return -0x06; }
+               if( 0 == dw_line )      {
+                       LibBrownie_Error_SetErrorInfo(
+                                       DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x06 ),
+                                       LOCATION( FUNCID_LibEditText_BackSpace_toLine ),
+                                       errno, (QWord)dw_line, (QWord)dw_pos, __LINE__ ); 
+
+                       return -0x06;
+               }
 
                p_line  = LINFO(p_tinfo, p_line->dw_before);
                assert( NULL != p_line );
@@ -162,6 +244,7 @@ int
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_LineEdit_InsertString        0x04
 LIBEDITTEXT_LINEEDIT_EXTERN
 int
        LibEditText_LineEdit_InsertString(
@@ -184,6 +267,11 @@ int
                                                p_tinfo, p_line,
                                                dw_srclen + DRD64_LIBEDITTEXT_DEFAULT_RESERVEBUF_INLINE);
                if( 0x00 != i_result )  {
+                       LibBrownie_Error_SetErrorInfo(
+                                       DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x01 ),
+                                       LOCATION( FUNCID_LibEditText_LineEdit_InsertString ),
+                                       errno, (QWord)i_result, (QWord)dw_srclen, __LINE__ ); 
+
                        return -0x01;
                }
        }
@@ -208,6 +296,7 @@ int
 
 /*======================================================================
 ======================================================================*/
+#define        FUNCID_LibEditText_InsertChar_toLine    0x05
 LIBEDITTEXT_API_LINEEDIT
 int
        LibEditText_InsertChar_toLine(
@@ -220,16 +309,43 @@ int
        LibEditText_TextInfo    *p_tinfo;
        LibEditText_LineInfo    *p_line;
 
-       if( 0 > i_tinfoid )             { return -0x01; }
+       if( 0 > i_tinfoid )             {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x01 ),
+                               LOCATION( FUNCID_LibEditText_InsertChar_toLine ),
+                               errno, (QWord)i_tinfoid, (QWord)0x00, __LINE__ ); 
+
+               return -0x01;
+       }
        p_tinfo = LibEditText_System_GetTextInfo( i_tinfoid );
-       if( NULL == p_tinfo     )       { return -0x02; }
+       if( NULL == p_tinfo     )       {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_NULLPTR, 0x01, 0x02 ),
+                               LOCATION( FUNCID_LibEditText_InsertChar_toLine ),
+                               errno, (QWord)i_tinfoid, (QWord)0x00, __LINE__ ); 
+
+               return -0x02;
+       }
 
        /* Check Line in TextBuffer range ---*/
-       if( p_tinfo->dw_maxline <= dw_line )
-               { return -0x03; }
+       if( p_tinfo->dw_maxline <= dw_line )    {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x03 ),
+                               LOCATION( FUNCID_LibEditText_InsertChar_toLine ),
+                               errno, (QWord)p_tinfo->dw_maxline, (QWord)dw_line, __LINE__ ); 
+
+               return -0x03;
+       }
 
        p_line  = LibEditText_Section_SearchLine( p_tinfo, dw_line );
-       if( NULL == p_line )    { return -0x03; }
+       if( NULL == p_line )    {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x04 ),
+                               LOCATION( FUNCID_LibEditText_InsertChar_toLine ),
+                               errno, (QWord)0x00, (QWord)dw_line, __LINE__ ); 
+
+               return -0x04;
+       }
 
        i_result        = LibEditText_LineEdit_InsertString( p_tinfo, p_line, dw_pos, &b_char, 1 );
 
@@ -239,6 +355,7 @@ int
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_InsertString_toLine  0x06
 LIBEDITTEXT_API_LINEEDIT
 int
        LibEditText_InsertString_toLine(
@@ -252,19 +369,53 @@ int
        LibEditText_TextInfo    *p_tinfo;
        LibEditText_LineInfo    *p_line;
 
-       if( 0 > i_tinfoid )             { return -0x01; }
+       if( 0 > i_tinfoid )             {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x01 ),
+                               LOCATION( FUNCID_LibEditText_InsertString_toLine ),
+                               errno, (QWord)i_tinfoid, (QWord)0x00, __LINE__ ); 
+
+               return -0x01;
+       }
        p_tinfo = LibEditText_System_GetTextInfo( i_tinfoid );
-       if( NULL == p_tinfo     )       { return -0x02; }
+       if( NULL == p_tinfo     )       {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_NULLPTR, 0x01, 0x02 ),
+                               LOCATION( FUNCID_LibEditText_InsertString_toLine ),
+                               errno, (QWord)i_tinfoid, (QWord)0x00, __LINE__ ); 
+
+               return -0x02;
+       }
 
        /* Check Line in TextBuffer range ---*/
-       if( p_tinfo->dw_maxline <= dw_line )
-               { return -0x03; }
+       if( p_tinfo->dw_maxline <= dw_line )    {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x03 ),
+                               LOCATION( FUNCID_LibEditText_InsertString_toLine ),
+                               errno, (QWord)p_tinfo->dw_maxline, (QWord)dw_line, __LINE__ ); 
+
+               return -0x03;
+       }
 
        p_line  = LibEditText_Section_SearchLine( p_tinfo, dw_line );
-       if( NULL == p_line )    { return -0x03; }
+       if( NULL == p_line )    {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x04 ),
+                               LOCATION( FUNCID_LibEditText_InsertString_toLine ),
+                               errno, (QWord)dw_line, (QWord)0x00, __LINE__ ); 
+
+               return -0x04;
+       }
 
        i_len   = strnlen( pstr_string , 1024+1 );
-       if( 1025 == i_len )     { return -0x04; }
+       if( 1025 == i_len )             {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_BUG, 0x01, 0x05 ),
+                               LOCATION( FUNCID_LibEditText_InsertString_toLine ),
+                               errno, (QWord)i_len, (QWord)0x00, __LINE__ ); 
+
+               return -0x05;
+       }
 
        i_result        = LibEditText_LineEdit_InsertString(
                                                p_tinfo, p_line, dw_pos, (Byte *)pstr_string, (DWord)i_len );
index e5820f3..a66d409 100644 (file)
@@ -37,9 +37,15 @@ Comment:
 #define        DRD64_SRC_LIBEDITTEXT_SECTION
 #include"drd64_libedittext.h"
 
+#define        DRD64_SRC_LIBEDITTEXT_SECTION_SRCID     0x06
+#define        LOCATION(n)     DRD64_ERR_LOCATION( \
+                                               DRD64_ERROR_MODULE_LIBEDITTEXT, DRD64_ERROR_ARCH_NODEPEND, \
+                                               DRD64_SRC_LIBEDITTEXT_SECTION_SRCID, (n))
+
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_Section_BackwardSections_toNearTargetLine    0x01
 DWord
        LibEditText_Section_BackwardSections_toNearTargetLine(
                LibEditText_TextInfo    *p_tinfo, 
@@ -67,6 +73,7 @@ DWord
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_Section_ForwardSections_toNearTargetLine     0x02
 DWord
        LibEditText_Section_ForwardSections_toNearTargetLine(
                LibEditText_TextInfo    *p_tinfo, 
@@ -95,14 +102,21 @@ DWord
        }while( p_tinfo->dw_sections > dw_secid );
 
        p_snow          = SECINFO(p_tinfo, p_tinfo->dw_sections-1);
-       if( dw_targetline < p_snow->dw_line )
-               { return INVALID_SECTION; }
+       if( dw_targetline < p_snow->dw_line )   {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_NOEXIST, 0x01, 0x01 ),
+                               LOCATION( FUNCID_LibEditText_Section_ForwardSections_toNearTargetLine ),
+                               errno, (QWord)dw_targetline, (QWord)p_snow->dw_line, __LINE__ );
+
+               return INVALID_SECTION;
+       }
 
        return p_tinfo->dw_sections - 1;
 }
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_Section_ReviewSection        0x03
 void
        LibEditText_Section_ReviewSection(
                        LibEditText_TextInfo    *p_tinfo,
@@ -145,6 +159,7 @@ void
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_Section_SearchLine   0x04
 LIBEDITTEXT_SECTION_EXTERN
 LibEditText_LineInfo   *
        LibEditText_Section_SearchLine(
@@ -225,6 +240,7 @@ goto_LibEditText_Section_SearchLine_post:
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_Section_SearchLine_OldSectionInfo    0x05
 DWord
        LibEditText_Section_SearchLine_OldSectionInfo(
                        LibEditText_LineSection *p_section,
@@ -267,6 +283,7 @@ goto_LibEditText_Section_SearchLine_OldSectionInfo_post:
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_Section_ExpandSectionInfo    0x06
 int
        LibEditText_Section_ExpandSectionInfo(
                        LibEditText_TextInfo    *p_tinfo )
@@ -290,7 +307,14 @@ int
 
        p_section       = (LibEditText_LineSection *)realloc( p_tinfo->p_section,
                                        sizeof( LibEditText_LineSection ) * dw_allocsections );
-       if( NULL == p_section )         { return -0x01; }
+       if( NULL == p_section )         {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_NOMEMORY, 0x01, 0x01 ),
+                               LOCATION( FUNCID_LibEditText_Section_ExpandSectionInfo ),
+                               errno, (QWord)dw_allocsections, (QWord)0x00, __LINE__ );
+
+               return -0x01;
+       }
        
        for( dw_cnt = 0; dw_cnt < dw_sections; dw_cnt++ )       {
                dw_line = ( p_tinfo->dw_maxline * dw_cnt ) / dw_sections;
@@ -322,6 +346,7 @@ int
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_Section_SplitSection 0x07
 int
        LibEditText_Section_SplitSection(
                        LibEditText_TextInfo    *p_tinfo )
@@ -364,6 +389,7 @@ int
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_Section_DeleteMidSection             0x08
 void
        LibEditText_Section_DeleteMidSection(
                        LibEditText_TextInfo    *p_tinfo,
@@ -397,6 +423,7 @@ void
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_Section_DeleteEndSection     0x09
 void
        LibEditText_Section_DeleteEndSection(
                        LibEditText_TextInfo    *p_tinfo )
@@ -418,6 +445,7 @@ void
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_Section_AddSection   0x0a
 LIBEDITTEXT_SECTION_EXTERN
 int
        LibEditText_Section_AddSection(
@@ -432,13 +460,35 @@ int
        assert( NULL != p_line );
 
        dw_nowsec       = (p_tinfo->dw_maxline) / p_tinfo->dw_sect_steps;
-       if( p_tinfo->dw_sections > dw_nowsec )          { return 0x01; }
+       if( p_tinfo->dw_sections > dw_nowsec )          {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_WARNING( DRD64_ERROR_PTN_FAILCALL, 0x01, 0x01 ),
+                               LOCATION( FUNCID_LibEditText_Section_AddSection ),
+                               errno, (QWord)p_tinfo->dw_sections, (QWord)dw_nowsec, __LINE__ );
+
+               return 0x01;
+       }
        
        if( p_tinfo->dw_bufsections == dw_nowsec )      {
                i_result        = LibEditText_Section_ExpandSectionInfo( p_tinfo );
-               if( 0x00 != i_result )  { return i_result; }
+               if( 0x00 != i_result )  {
+                       LibBrownie_Error_SetErrorInfo(
+                                       DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x02 ),
+                                       LOCATION( FUNCID_LibEditText_Section_AddSection ),
+                                       errno, (QWord)i_result, (QWord)0x00, __LINE__ );
+
+                       return i_result;
+               }
+
                dw_nowsec       = (p_tinfo->dw_maxline) / p_tinfo->dw_sect_steps;
-               if( p_tinfo->dw_sections > dw_nowsec )          { return 0x01; }
+               if( p_tinfo->dw_sections > dw_nowsec )          {
+                       LibBrownie_Error_SetErrorInfo(
+                                       DRD64_WARNING( DRD64_ERROR_PTN_FAILCALL, 0x01, 0x03 ),
+                                       LOCATION( FUNCID_LibEditText_Section_AddSection ),
+                                       errno, (QWord)p_tinfo->dw_sections, (QWord)dw_nowsec, __LINE__ );
+
+                       return 0x01;
+               }
        }
 
        p_section       = p_tinfo->p_section + dw_nowsec;
@@ -454,6 +504,7 @@ int
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_Section_AvoidanceInLineSection       0x0b
 DWord
        LibEditText_Section_AvoidanceInLineSection(
                        LibEditText_TextInfo    *p_tinfo,
@@ -508,6 +559,7 @@ DWord
                        
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_Section_DeleteLine   0x0c
 LIBEDITTEXT_SECTION_EXTERN
 void
        LibEditText_Section_DeleteLine(
@@ -570,6 +622,7 @@ goto_LibEditText_Section_DeleteLine_post:
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_Section_InsertLine   0x0d
 LIBEDITTEXT_SECTION_EXTERN
 int
        LibEditText_Section_InsertLine(
@@ -597,8 +650,14 @@ int
        }
 
        i_result        = LibEditText_Section_AddSection( p_tinfo );
-       if( 0x00 > i_result )
-               { goto  goto_LibEditText_Section_InsertLine_post; }
+       if( 0x00 > i_result )   {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x01 ),
+                               LOCATION( FUNCID_LibEditText_Section_InsertLine ),
+                               errno, (QWord)i_result, (QWord)0x00, __LINE__ );
+
+               goto    goto_LibEditText_Section_InsertLine_post;
+       }
        else if( 0x00 < i_result )      {
                i_result        = 0x00;
                goto    goto_LibEditText_Section_InsertLine_post;
@@ -626,6 +685,7 @@ goto_LibEditText_Section_InsertLine_post:
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_Section_ConstractSection     0x0e
 LIBEDITTEXT_SECTION_EXTERN
 int
        LibEditText_Section_ConstractSection(
@@ -655,6 +715,11 @@ int
 
        p_line  = LINFO(p_tinfo, p_tinfo->dw_line_start);
        if( NULL == p_line )    {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_NULLPTR, 0x01, 0x01 ),
+                               LOCATION( FUNCID_LibEditText_Section_ConstractSection ),
+                               errno, (QWord)p_tinfo->dw_line_start, (QWord)0x00, __LINE__ );
+
                return -0x01;
        }
 
@@ -678,6 +743,7 @@ goto_LibEditText_Section_ConstractSection_post:
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_Section_TermSection  0x0f
 LIBEDITTEXT_SECTION_EXTERN
 int
        LibEditText_Section_TermSection(
@@ -686,7 +752,14 @@ int
 
        assert( NULL != p_tinfo );
 
-       if( NULL == p_tinfo->p_section )        { return -0x01; }
+       if( NULL == p_tinfo->p_section )        {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_NULLPTR, 0x01, 0x01 ),
+                               LOCATION( FUNCID_LibEditText_Section_TermSection ),
+                               errno, (QWord)0x00, (QWord)0x00, __LINE__ );
+
+               return -0x01;
+       }
 
        free( p_tinfo->p_section );
        
@@ -701,6 +774,7 @@ int
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibEditText_Section_InitSection  0x10
 LIBEDITTEXT_SECTION_EXTERN
 int
        LibEditText_Section_InitSection(
@@ -732,8 +806,14 @@ int
                        dw_stepsection          *= 2;
                        dw_req_sections         = p_tinfo->dw_maxline / dw_stepsection;
                }
-               if( DRD64_LIBEDITTEXT_DEFAULT_REMAIN_SECPOWS == i_tmp ) { return -0x01; }
+               if( DRD64_LIBEDITTEXT_DEFAULT_REMAIN_SECPOWS == i_tmp ) {
+                       LibBrownie_Error_SetErrorInfo(
+                                       DRD64_ERROR( DRD64_ERROR_PTN_BUG, 0x01, 0x01 ),
+                                       LOCATION( FUNCID_LibEditText_Section_InitSection ),
+                                       errno, (QWord)i_tmp, (QWord)0x00, __LINE__ );
 
+                       return -0x01;
+               }
        }
 
        p_tinfo->dw_bufsections = dw_allocsections;
@@ -744,7 +824,12 @@ int
                                                sizeof( LibEditText_LineSection )
                                                        * p_tinfo->dw_bufsections );
        if( NULL == p_section )         {
-               return -0x01;
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_NOMEMORY, 0x01, 0x02 ),
+                               LOCATION( FUNCID_LibEditText_Section_InitSection ),
+                               errno, (QWord)p_tinfo->dw_bufsections, (QWord)0x00, __LINE__ );
+
+               return -0x02;
        }
        memset( p_section, 0x00, sizeof( LibEditText_LineSection )
                                                        * p_tinfo->dw_bufsections );