1 /*DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64
4 for INTEL64(R), AMD64(R)
6 Copyright(C) 2007-2009 Koine Yuusuke(koinec). All rights reserved.
8 Redistribution and use in source and binary forms, with or without
9 modification, are permitted provided that the following conditions are met:
11 1. Redistributions of source code must retain the above copyright notice,
12 this list of conditions and the following disclaimer.
13 2. Redistributions in binary form must reproduce the above copyright
14 notice, this list of conditions and the following disclaimer in the
15 documentation and/or other materials provided with the distribution.
17 THIS SOFTWARE IS PROVIDED BY Koine Yuusuke(koinec) ``AS IS'' AND ANY
18 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 DISCLAIMED. IN NO EVENT SHALL Koine Yuusuke(koinec) OR CONTRIBUTORS BE
21 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
27 OF THE POSSIBILITY OF SUCH DAMAGE.
29 DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64*/
31 /* File Info -----------------------------------------------------------
35 ----------------------------------------------------------------------*/
37 #define DRD64_SRC_LIBEDITTEXT_CURSORAPI_FIND
38 #include"drd64_libedittext.h"
40 #define LOCATION(n) DRD64_ERR_LOCATION( \
41 DRD64_ERROR_MODULE_LIBEDITTEXT, DRD64_ERROR_ARCH_NODEPEND, \
42 DRD64_SRC_LIBEDITTEXT_CURSORAPI_FIND_SRCID, (n))
45 /***********************************************************************
46 ***********************************************************************/
47 #define FUNCID_LibEditText_FindString 0x01
48 LIBEDITTEXT_API_CURSORAPI_FIND
50 LibEditText_FindString(
58 LibEditText_TextInfo *p_tinfo;
59 LibEditText_Cursor *p_cursor;
61 p_tinfo = LibEditText_System_GetTextInfo( i_tinfoid );
62 if( NULL == p_tinfo ) {
63 LibBrownie_Error_SetErrorInfo(
64 DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x01 ),
65 LOCATION( FUNCID_LibEditText_FindString ),
66 errno, (QWord)i_tinfoid, (QWord)i_curid, __LINE__ );
71 p_cursor = LibEditText_CursorInfo_GetCursor( p_tinfo, i_curid );
72 if( NULL == p_cursor ) {
73 LibBrownie_Error_SetErrorInfo(
74 DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x02 ),
75 LOCATION( FUNCID_LibEditText_FindString ),
76 errno, (QWord)i_tinfoid, (QWord)i_curid, __LINE__ );
81 i_result = LibEditText_CursorFind_FindString(
82 p_tinfo, p_cursor, pstr_regex, dw_regexlen, LIBEDITTEXT_FLAGFIND_NORMAL );
83 if( 0x00 > i_result ) {
84 LibBrownie_Error_SetErrorInfo(
85 DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x03 ),
86 LOCATION( FUNCID_LibEditText_FindString ),
87 errno, (QWord)i_result, (QWord)dw_regexlen, __LINE__ );
92 if(( LIBEDITTEXT_RET_FINDNOMATCH != i_result ) && ( NULL != pdw_len ))
93 { *pdw_len = p_cursor->dw_find_prevpos_len; }
99 /***********************************************************************
100 ***********************************************************************/
101 #define FUNCID_LibEditText_FindNextString 0x02
102 LIBEDITTEXT_API_CURSORAPI_FIND
104 LibEditText_FindNextString(
110 LibEditText_TextInfo *p_tinfo;
111 LibEditText_Cursor *p_cursor;
113 p_tinfo = LibEditText_System_GetTextInfo( i_tinfoid );
114 if( NULL == p_tinfo ) {
115 LibBrownie_Error_SetErrorInfo(
116 DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x01 ),
117 LOCATION( FUNCID_LibEditText_FindNextString ),
118 errno, (QWord)i_tinfoid, (QWord)i_curid, __LINE__ );
123 p_cursor = LibEditText_CursorInfo_GetCursor( p_tinfo, i_curid );
124 if( NULL == p_cursor ) {
125 LibBrownie_Error_SetErrorInfo(
126 DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x02 ),
127 LOCATION( FUNCID_LibEditText_FindNextString ),
128 errno, (QWord)i_tinfoid, (QWord)i_curid, __LINE__ );
133 i_result = LibEditText_CursorFind_FindNextString( p_tinfo, p_cursor );
134 if( 0x00 > i_result ) {
135 LibBrownie_Error_SetErrorInfo(
136 DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x03 ),
137 LOCATION( FUNCID_LibEditText_FindNextString ),
138 errno, (QWord)i_result, (QWord)i_curid, __LINE__ );
143 if(( LIBEDITTEXT_RET_FINDNOMATCH != i_result ) && ( NULL != pdw_len ))
144 { *pdw_len = p_cursor->dw_find_prevpos_len; }
150 /***********************************************************************
151 ***********************************************************************/
152 #define FUNCID_LibEditText_BackFindString 0x03
153 LIBEDITTEXT_API_CURSORAPI_FIND
155 LibEditText_BackFindString(
163 LibEditText_TextInfo *p_tinfo;
164 LibEditText_Cursor *p_cursor;
166 p_tinfo = LibEditText_System_GetTextInfo( i_tinfoid );
167 if( NULL == p_tinfo ) {
168 LibBrownie_Error_SetErrorInfo(
169 DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x01 ),
170 LOCATION( FUNCID_LibEditText_BackFindString ),
171 errno, (QWord)i_tinfoid, (QWord)i_curid, __LINE__ );
176 p_cursor = LibEditText_CursorInfo_GetCursor( p_tinfo, i_curid );
177 if( NULL == p_cursor ) {
178 LibBrownie_Error_SetErrorInfo(
179 DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x02 ),
180 LOCATION( FUNCID_LibEditText_BackFindString ),
181 errno, (QWord)i_tinfoid, (QWord)i_curid, __LINE__ );
186 i_result = LibEditText_CursorFind_BackFindString(
187 p_tinfo, p_cursor, pstr_regex, dw_regexlen, LIBEDITTEXT_FLAGFIND_NORMAL );
188 if( 0x00 > i_result ) {
189 LibBrownie_Error_SetErrorInfo(
190 DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x03 ),
191 LOCATION( FUNCID_LibEditText_BackFindString ),
192 errno, (QWord)i_result, (QWord)dw_regexlen, __LINE__ );
197 if(( LIBEDITTEXT_RET_FINDNOMATCH != i_result ) && ( NULL != pdw_len ))
198 { *pdw_len = p_cursor->dw_find_prevpos_len; }
204 /***********************************************************************
205 ***********************************************************************/
206 #define FUNCID_LibEditText_BackFindBeforeString 0x04
207 LIBEDITTEXT_API_CURSORAPI_FIND
209 LibEditText_BackFindBeforeString(
215 LibEditText_TextInfo *p_tinfo;
216 LibEditText_Cursor *p_cursor;
218 p_tinfo = LibEditText_System_GetTextInfo( i_tinfoid );
219 if( NULL == p_tinfo ) {
220 LibBrownie_Error_SetErrorInfo(
221 DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x01 ),
222 LOCATION( FUNCID_LibEditText_BackFindBeforeString ),
223 errno, (QWord)i_tinfoid, (QWord)i_curid, __LINE__ );
228 p_cursor = LibEditText_CursorInfo_GetCursor( p_tinfo, i_curid );
229 if( NULL == p_cursor ) {
230 LibBrownie_Error_SetErrorInfo(
231 DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x02 ),
232 LOCATION( FUNCID_LibEditText_BackFindBeforeString ),
233 errno, (QWord)i_tinfoid, (QWord)i_curid, __LINE__ );
238 i_result = LibEditText_CursorFind_BackFindBeforeString( p_tinfo, p_cursor );
239 if( 0x00 > i_result ) {
240 LibBrownie_Error_SetErrorInfo(
241 DRD64_ERROR( DRD64_ERROR_PTN_CALLFUNC, 0x01, 0x03 ),
242 LOCATION( FUNCID_LibEditText_BackFindBeforeString ),
243 errno, (QWord)i_result, (QWord)i_curid, __LINE__ );
248 if(( LIBEDITTEXT_RET_FINDNOMATCH != i_result ) && ( NULL != pdw_len ))
249 { *pdw_len = p_cursor->dw_find_prevpos_len; }
255 /* EOF of drd64_.c ----------------------------------- */