From 735ca6b2f6a109e1854e986cf3e826adb55e027e Mon Sep 17 00:00:00 2001 From: "Koine Yuusuke(koinec)" Date: Mon, 10 Aug 2015 06:19:45 +0900 Subject: [PATCH] * Implement: LibEditText_FindNextString() API (Non-Tested) --- include/libedittext.h | 2 ++ libedittext/drd64_libedittext_cursorapi_find.c | 35 ++++++++++++++++++++++++++ libedittext/drd64_libedittext_cursorfind.h | 4 ++- 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/include/libedittext.h b/include/libedittext.h index c105654..31caf16 100644 --- a/include/libedittext.h +++ b/include/libedittext.h @@ -185,6 +185,8 @@ LIBEDITTEXT_API_CURSORAPI_MOVE LIBEDITTEXT_API_CURSORAPI_FIND int LibEditText_FindString( int i_tinfoid, int i_curid, char *pstr_regex, DWord dw_regexlen, DWord *pdw_len ); +LIBEDITTEXT_API_CURSORAPI_FIND + int LibEditText_FindNextString( int i_tinfoid, int i_curid, DWord *pdw_len ); #ifdef DRD64_SRC_LIBEDITTEXT_UNDOEDIT diff --git a/libedittext/drd64_libedittext_cursorapi_find.c b/libedittext/drd64_libedittext_cursorapi_find.c index bb3f5e5..8c9ad4f 100644 --- a/libedittext/drd64_libedittext_cursorapi_find.c +++ b/libedittext/drd64_libedittext_cursorapi_find.c @@ -83,4 +83,39 @@ int } +/*********************************************************************** +***********************************************************************/ +LIBEDITTEXT_API_CURSORAPI_FIND +int + LibEditText_FindNextString( + int i_tinfoid, + int i_curid, + DWord *pdw_len ) +{ + int i_result; + LibEditText_TextInfo *p_tinfo; + LibEditText_Cursor *p_cursor; + + p_tinfo = LibEditText_System_GetTextInfo( i_tinfoid ); + if( NULL == p_tinfo ) { + return -0x01; + } + + p_cursor = LibEditText_CursorInfo_GetCursor( p_tinfo, i_curid ); + if( NULL == p_cursor ) { + return -0x02; + } + + i_result = LibEditText_CursorFind_FindNextString( p_tinfo, p_cursor ); + if( 0x00 > i_result ) { + return i_result; + } + + if(( LIBEDITTEXT_RET_FINDNOMATCH != i_result ) && ( NULL != pdw_len )) + { *pdw_len = p_cursor->dw_find_prevpos_len; } + + return i_result; +} + + /* EOF of drd64_.c ----------------------------------- */ diff --git a/libedittext/drd64_libedittext_cursorfind.h b/libedittext/drd64_libedittext_cursorfind.h index 38e9a1c..837b5c4 100644 --- a/libedittext/drd64_libedittext_cursorfind.h +++ b/libedittext/drd64_libedittext_cursorfind.h @@ -53,10 +53,12 @@ LIBEDITTEXT_CURSORFIND_EXTERN LibEditText_TextInfo *p_tinfo, LibEditText_Cursor *p_cursor, char *pstr_regex, DWord dw_regexlen, Byte b_flagfind ); LIBEDITTEXT_CURSORFIND_EXTERN + int LibEditText_CursorFind_FindNextString( + LibEditText_TextInfo *p_tinfo, LibEditText_Cursor *p_cursor ); +LIBEDITTEXT_CURSORFIND_EXTERN int LibEditText_CursorFind_FreeFindData( LibEditText_Cursor *p_cursor ); - #ifdef LIBEDITTEXT_CURSORFIND_INTERNALFUNC #endif -- 2.11.0