drcc_edittext_system.o \
drcc_edittext_file.o \
drcc_edittext_line.o \
+ drcc_edittext_debug.o \
drcc_winctrl.o
DRCC_HEADER = \
drcc.h \
drcc_edittext_system.h \
drcc_edittext_file.h \
drcc_edittext_line.h \
+ drcc_edittext_debug.h \
$(SUPER_HEADER)
TEST_FLAGS_COMPILE = -I/usr/local/include
drcc_edittext_line.o: drcc_edittext_line.c $(DRCC_HEADER)
$(CC) -c -o drcc_edittext_line.o $(FLAGS_DEBUG) $(FLAGS_COMPILE) \
drcc_edittext_line.c
+drcc_edittext_debug.o: drcc_edittext_debug.c $(DRCC_HEADER)
+ $(CC) -c -o drcc_edittext_debug.o $(FLAGS_DEBUG) $(FLAGS_COMPILE) \
+ drcc_edittext_debug.c
drcc_filetype.o: drcc_filetype.c
$(CC) -c -o drcc_filetype.o $(FLAGS_DEBUG) $(FLAGS_COMPILE) \
drcc_filetype.c
#include"drcc_edittext_system.h"
#include"drcc_edittext_file.h"
#include"drcc_edittext_line.h"
+#include"drcc_edittext_debug.h"
#include"drcc_window.h"
#endif /* DRD64_HEADER_DRCC_INCLUDE */
--- /dev/null
+/*DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64
+
+ D r . D e a m o n 6 4
+ for INTEL64(R), AMD64(R)
+
+ Copyright(C) 2007-2009 Koine Yuusuke(koinec). All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY Koine Yuusuke(koinec) ``AS IS'' AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL Koine Yuusuke(koinec) OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
+
+DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64*/
+
+/* File Info -----------------------------------------------------------
+File: drd64_.c
+Function:
+Comment:
+----------------------------------------------------------------------*/
+
+#define DRD64_SRC_DRCC_EDITTEXT_DEBUG
+#include"drcc.h"
+
+/*----------------------------------------------------------------------
+----------------------------------------------------------------------*/
+int
+ DrCC_EditText_Debug_SortChain(
+ Drd64_DrCC_TextInfo *p_tinfo,
+ Byte b_putflag )
+{
+ int i_cnt;
+ DWord dw_nowlen;
+ DWord dw_lencount;
+ Drd64_DrCC_LineInfo *p_line;
+
+ assert( NULL != p_tinfo );
+
+ if( 0x00 != b_putflag ) {
+ puts("----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8");
+ puts( "[2] LineInfo SortChain ");
+ }
+
+ for( i_cnt = 0; i_cnt < DRD64_DRCC_DEFAULT_LINESORT_ARRAYS; i_cnt++ ) {
+ p_line = p_tinfo->p_sort[i_cnt];
+ if( NULL == p_line ) { continue; }
+
+ dw_nowlen = p_line->dw_linelen;
+ if( 0 == dw_nowlen ) { return -0x01; }
+ dw_lencount = 1;
+
+ while( NULL != p_line ) {
+ if( dw_nowlen < p_line->dw_linelen ) {
+ if( 0x00 != b_putflag )
+ { printf(" Line Length=%u : Chains: %u\n", dw_nowlen, dw_lencount ); }
+ dw_lencount = 1;
+ dw_nowlen = p_line->dw_linelen;
+ if( 0 == dw_nowlen ) { return -0x02; }
+ }
+ else if( dw_nowlen > p_line->dw_linelen )
+ { return -0x03; }
+ else
+ { dw_lencount++; }
+ p_line = p_line->p_sortnext;
+ }
+
+ if( 0x00 != b_putflag )
+ { printf(" Line Length=%u : Chains: %u\n", dw_nowlen, dw_lencount ); }
+ }
+
+ if( 0x00 != b_putflag )
+ { puts("----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8"); }
+
+ return 0x00;
+}
+
+
+/*----------------------------------------------------------------------
+----------------------------------------------------------------------*/
+DRCC_EDITTEXT_DEBUG_EXTERN
+int
+ DrCC_EditText_Debug_DebugTextInfo(
+ int i_tinfoid,
+ Byte b_putflag )
+{
+ DWord dw_nowrow;
+ int i_cnt;
+ int i_result;
+ Byte *pb_now;
+ Drd64_DrCC_TextInfo *p_tinfo;
+ Drd64_DrCC_LineInfo *p_before;
+ Drd64_DrCC_LineInfo *p_line;
+
+ if( 0 > i_tinfoid ) { return -0x01; }
+ p_tinfo = DrCC_EditText_System_GetTextInfo( i_tinfoid );
+ if( NULL == p_tinfo ) { return -0x02; }
+
+ /* 1st: Check TextInfo Strcut Data --- */
+ if( 0x00 != b_putflag ) {
+ puts("----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8");
+ puts( "[1] TextInfo Struct Data ");
+ printf(" TextInfo Struct ID: %d\n", p_tinfo->i_fd);
+ printf(" Path: %s\n", p_tinfo->str_pathname );
+ printf(" File: %s\n", p_tinfo->str_filename );
+ printf(" Lines: %u, Buffer Lines: %u\n", p_tinfo->dw_maxline, p_tinfo->dw_bufline );
+ printf(" Buffer size: %u, Used Last-Byte:%u\n", p_tinfo->dw_bufsize, p_tinfo->dw_lastsize );
+ printf(" FileDescriptor: %d, File SubType: %04x\n", p_tinfo->i_fd, p_tinfo->w_subtype );
+ puts("----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8");
+ }
+
+ /* Check Empty-LineInfo Chain ---*/
+ i_cnt = 0;
+ p_line = p_tinfo->p_empty;
+ while( NULL != p_line ) {
+ p_line = p_line->p_next;
+ i_cnt++;
+ }
+ if( (int)(p_tinfo->dw_bufline - p_tinfo->dw_maxline) != i_cnt )
+ { return -0x10; }
+ if( 0x00 != b_putflag ) {
+ printf(" Remain Empty LineInfo Structs: %3d\n", i_cnt );
+ }
+
+ i_result = DrCC_EditText_Debug_SortChain( p_tinfo, b_putflag );
+ if( 0x00 != i_result ) { return -0x03; }
+
+
+ if( 0x00 != b_putflag ) {
+ puts("");
+ puts("************** ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9");
+ puts( "[3] Text Data ");
+ }
+ p_before = NULL;
+ p_line = p_tinfo->p_lineinfo;
+ for( dw_nowrow = 0; dw_nowrow < p_tinfo->dw_maxline; dw_nowrow++ ) {
+ if( 0x00 != b_putflag ) {
+ printf("%04u [%3u:%3u] ",
+ dw_nowrow, p_line->dw_strlen, p_line->dw_linelen );
+ }
+ pb_now = p_tinfo->pb_text + p_line->dw_start;
+ if(( dw_nowrow + 1 < p_tinfo->dw_maxline ) && ( '\n' != *(pb_now + p_line->dw_strlen - 1) ))
+ { return -0x04; }
+
+ if( 0x00 != b_putflag ) {
+ fputs( (char *)pb_now, stdout );
+ }
+
+ if( p_before != p_line->p_before ) { return -0x05; }
+ p_before = p_line;
+ p_line = p_line->p_next;
+ }
+ if( NULL != p_line ) { return -0x06; }
+
+ if( 0x00 != b_putflag ) {
+ puts("************** ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9");
+ }
+
+ return 0x00;
+}
+
+
+/* EOF of drd64_.c ---------------------------------- */
+
--- /dev/null
+/*DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64
+
+ D r . D e a m o n 6 4
+ for INTEL64(R), AMD64(R)
+
+ Copyright(C) 2007-2009 Koine Yuusuke(koinec). All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY Koine Yuusuke(koinec) ``AS IS'' AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL Koine Yuusuke(koinec) OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
+
+DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64*/
+
+/* File Info -----------------------------------------------------------
+File: drd64_.h
+Function: Header
+Comment:
+----------------------------------------------------------------------*/
+
+#ifndef DRD64_HEADER_DRCC_EDITTEXT_DEBUG
+#define DRD64_HEADER_DRCC_EDITTEXT_DEBUG
+
+#ifdef DRD64_SRC_DRCC_EDITTEXT_DEBUG
+ #define DRCC_EDITTEXT_DEBUG_EXTERN
+#else
+ #define DRCC_EDITTEXT_DEBUG_EXTERN extern
+#endif
+
+#if defined DRD64_SRC_DRCC_EDITTEXT_DEBUG
+ #define DRCC_EDITTEXT_DEBUG_INTERNALFUNC
+#elif defined DRD64_SRC_TEST_DRCC_EDITTEXT_DEBUG
+ #define DRCC_EDITTEXT_DEBUG_INTERNALFUNC
+#endif
+
+
+DRCC_EDITTEXT_DEBUG_EXTERN
+ int DrCC_EditText_Debug_DebugTextInfo( int i_tinfoid, Byte b_putflag );
+
+#ifdef DRCC_EDITTEXT_DEBUG_INTERNALFUNC
+#endif
+
+#endif /* DRD64_HEADER_DRCC_EDITTEXT */
+
+
+/* EOF of drd64_.h ----------------------------------- */
#define DRD64_SRC_DRCC_EDITTEXT_SYSTEM
#include"drcc.h"
-/*----------------------------------------------------------------------
-----------------------------------------------------------------------*/
-int
- DrCC_EditText_Debug_SortChain(
- Drd64_DrCC_TextInfo *p_tinfo,
- Byte b_putflag )
-{
- int i_cnt;
- DWord dw_nowlen;
- DWord dw_lencount;
- Drd64_DrCC_LineInfo *p_line;
-
- assert( NULL != p_tinfo );
-
- if( 0x00 != b_putflag ) {
- puts("----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8");
- puts( "[2] LineInfo SortChain ");
- }
-
- for( i_cnt = 0; i_cnt < DRD64_DRCC_DEFAULT_LINESORT_ARRAYS; i_cnt++ ) {
- p_line = p_tinfo->p_sort[i_cnt];
- if( NULL == p_line ) { continue; }
-
- dw_nowlen = p_line->dw_linelen;
- if( 0 == dw_nowlen ) { return -0x01; }
- dw_lencount = 1;
-
- while( NULL != p_line ) {
- if( dw_nowlen < p_line->dw_linelen ) {
- if( 0x00 != b_putflag )
- { printf(" Line Length=%u : Chains: %u\n", dw_nowlen, dw_lencount ); }
- dw_lencount = 1;
- dw_nowlen = p_line->dw_linelen;
- if( 0 == dw_nowlen ) { return -0x02; }
- }
- else if( dw_nowlen > p_line->dw_linelen )
- { return -0x03; }
- else
- { dw_lencount++; }
- p_line = p_line->p_sortnext;
- }
-
- if( 0x00 != b_putflag )
- { printf(" Line Length=%u : Chains: %u\n", dw_nowlen, dw_lencount ); }
- }
-
- if( 0x00 != b_putflag )
- { puts("----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8"); }
-
- return 0x00;
-}
-
-
-/*----------------------------------------------------------------------
-----------------------------------------------------------------------*/
-DRCC_EDITTEXT_SYSTEM_EXTERN
-int
- DrCC_EditText_DebugTextInfo(
- int i_tinfoid,
- Byte b_putflag )
-{
- DWord dw_nowrow;
- int i_cnt;
- int i_result;
- Byte *pb_now;
- Drd64_DrCC_TextInfo *p_tinfo;
- Drd64_DrCC_LineInfo *p_before;
- Drd64_DrCC_LineInfo *p_line;
-
- if( 0 > i_tinfoid ) { return -0x01; }
- p_tinfo = DrCC_EditText_System_GetTextInfo( i_tinfoid );
- if( NULL == p_tinfo ) { return -0x02; }
-
- /* 1st: Check TextInfo Strcut Data --- */
- if( 0x00 != b_putflag ) {
- puts("----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8");
- puts( "[1] TextInfo Struct Data ");
- printf(" TextInfo Struct ID: %d\n", p_tinfo->i_fd);
- printf(" Path: %s\n", p_tinfo->str_pathname );
- printf(" File: %s\n", p_tinfo->str_filename );
- printf(" Lines: %u, Buffer Lines: %u\n", p_tinfo->dw_maxline, p_tinfo->dw_bufline );
- printf(" Buffer size: %u, Used Last-Byte:%u\n", p_tinfo->dw_bufsize, p_tinfo->dw_lastsize );
- printf(" FileDescriptor: %d, File SubType: %04x\n", p_tinfo->i_fd, p_tinfo->w_subtype );
- puts("----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8");
- }
-
- /* Check Empty-LineInfo Chain ---*/
- i_cnt = 0;
- p_line = p_tinfo->p_empty;
- while( NULL != p_line ) {
- p_line = p_line->p_next;
- i_cnt++;
- }
- if( (int)(p_tinfo->dw_bufline - p_tinfo->dw_maxline) != i_cnt )
- { return -0x10; }
- if( 0x00 != b_putflag ) {
- printf(" Remain Empty LineInfo Structs: %3d\n", i_cnt );
- }
-
- i_result = DrCC_EditText_Debug_SortChain( p_tinfo, b_putflag );
- if( 0x00 != i_result ) { return -0x03; }
-
-
- if( 0x00 != b_putflag ) {
- puts("");
- puts("************** ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9");
- puts( "[3] Text Data ");
- }
- p_before = NULL;
- p_line = p_tinfo->p_lineinfo;
- for( dw_nowrow = 0; dw_nowrow < p_tinfo->dw_maxline; dw_nowrow++ ) {
- if( 0x00 != b_putflag ) {
- printf("%04u [%3u:%3u] ",
- dw_nowrow, p_line->dw_strlen, p_line->dw_linelen );
- }
- pb_now = p_tinfo->pb_text + p_line->dw_start;
- if(( dw_nowrow + 1 < p_tinfo->dw_maxline ) && ( '\n' != *(pb_now + p_line->dw_strlen - 1) ))
- { return -0x04; }
-
- if( 0x00 != b_putflag ) {
- fputs( (char *)pb_now, stdout );
- }
-
- if( p_before != p_line->p_before ) { return -0x05; }
- p_before = p_line;
- p_line = p_line->p_next;
- }
- if( NULL != p_line ) { return -0x06; }
-
- if( 0x00 != b_putflag ) {
- puts("************** ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9");
- }
-
- return 0x00;
-}
-
/*----------------------------------------------------------------------
----------------------------------------------------------------------*/
#endif
DRCC_EDITTEXT_SYSTEM_EXTERN
- int DrCC_EditText_DebugTextInfo( int i_tinfoid, Byte b_putflag );
-DRCC_EDITTEXT_SYSTEM_EXTERN
DWord DrCC_EditText_System_GetNoneNameFiles( void );
DRCC_EDITTEXT_SYSTEM_EXTERN
int DrCC_EditText_System_Term( void );
i_tinfoid = DrCC_EditText_File_OpenTextFile("./testdata", "drcc_testfile.c");
CU_ASSERT( 0x00 <= i_tinfoid );
- i_result = DrCC_EditText_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
+ i_result = DrCC_EditText_Debug_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
CU_ASSERT( 0x00 == i_result );
i_result = DrCC_EditText_File_SaveTextFile( NULL, NULL, i_tinfoid );
i_tinfoid = DrCC_EditText_File_OpenTextFile("./testdata", "drcc_testfile.h");
CU_ASSERT( 0x00 <= i_tinfoid );
- i_result = DrCC_EditText_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
+ i_result = DrCC_EditText_Debug_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
CU_ASSERT( 0x00 == i_result );
i_result = DrCC_EditText_File_SaveTextFile( "./testdata", "savetest.h", i_tinfoid );
i_tinfoid = DrCC_EditText_File_OpenTextFile("./testdata", "drcc_testfile.c");
CU_ASSERT( 0x00 <= i_tinfoid );
- i_result = DrCC_EditText_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
+ i_result = DrCC_EditText_Debug_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
CU_ASSERT( 0x00 == i_result );
i_result = DrCC_EditText_File_CloseFile( i_tinfoid );
i_tinfoid = DrCC_EditText_File_OpenTextFile("./testdata", "drcc_testfile.h");
CU_ASSERT( 0x00 <= i_tinfoid );
- i_result = DrCC_EditText_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
+ i_result = DrCC_EditText_Debug_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
CU_ASSERT( 0x00 == i_result );
i_result = DrCC_EditText_File_CloseFile( i_tinfoid );
i_tinfoid = DrCC_EditText_File_OpenTextFile("./testdata", "x8664db.csv");
CU_ASSERT( 0x00 <= i_tinfoid );
- i_result = DrCC_EditText_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
+ i_result = DrCC_EditText_Debug_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
CU_ASSERT( 0x00 == i_result );
i_result = DrCC_EditText_File_CloseFile( i_tinfoid );
i_tinfoid = DrCC_EditText_File_OpenTextFile("./testdata", "Makefile");
CU_ASSERT( 0x00 <= i_tinfoid );
- i_result = DrCC_EditText_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
+ i_result = DrCC_EditText_Debug_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
CU_ASSERT( 0x00 == i_result );
i_result = DrCC_EditText_File_CloseFile( i_tinfoid );
i_tinfoid = DrCC_EditText_File_CreateTextFile("./testdata", "testfile.c");
CU_ASSERT( 0x00 <= i_tinfoid );
- i_result = DrCC_EditText_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
+ i_result = DrCC_EditText_Debug_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
CU_ASSERT( 0x00 == i_result );
i_result = DrCC_EditText_File_CloseFile( i_tinfoid );
i_tinfoid = DrCC_EditText_File_CreateTextFile( "./testdata", NULL );
CU_ASSERT( 0x00 <= i_tinfoid );
- i_result = DrCC_EditText_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
+ i_result = DrCC_EditText_Debug_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
CU_ASSERT( 0x00 == i_result );
i_result = DrCC_EditText_File_SaveTextFile( NULL, NULL , i_tinfoid );