drcc_menubar.o \
drcc_statusbar.o \
drcc_cmdbar.o \
- drcc_edittext.o \
drcc_filetype.o \
+ drcc_edittext_system.o \
+ drcc_edittext_file.o \
drcc_winctrl.o
DRCC_HEADER = \
drcc.h \
+ drcc_config.h \
drcc_main.h \
drcc_init.h \
drcc_term.h \
drcc_statusbar.h \
drcc_cmdbar.h \
drcc_winctrl.h \
- drcc_edittext.h \
drcc_filetype.h \
+ drcc_edittext_system.h \
+ drcc_edittext_file.h \
$(SUPER_HEADER)
TEST_FLAGS_COMPILE = -I/usr/local/include
TEST_DRCC_TARGET = test_drcc
TEST_DRCC_OBJS = \
test_main_drcc.o \
- test_drcc_edittext.o \
+ test_drcc_edittext_system.o \
+ test_drcc_edittext_file.o \
test_drcc_filetype.o
TEST_DRCC_HEADER = \
test_drcc.h
drcc_winctrl.o: drcc_winctrl.c $(DRCC_HEADER)
$(CC) -c -o drcc_winctrl.o $(FLAGS_DEBUG) $(FLAGS_COMPILE) \
drcc_winctrl.c
-drcc_edittext.o: drcc_edittext.c $(DRCC_HEADER)
- $(CC) -c -o drcc_edittext.o $(FLAGS_DEBUG) $(FLAGS_COMPILE) \
- drcc_edittext.c
+drcc_edittext_system.o: drcc_edittext_system.c $(DRCC_HEADER)
+ $(CC) -c -o drcc_edittext_system.o $(FLAGS_DEBUG) $(FLAGS_COMPILE) \
+ drcc_edittext_system.c
+drcc_edittext_file.o: drcc_edittext_file.c $(DRCC_HEADER)
+ $(CC) -c -o drcc_edittext_file.o $(FLAGS_DEBUG) $(FLAGS_COMPILE) \
+ drcc_edittext_file.c
drcc_filetype.o: drcc_filetype.c
$(CC) -c -o drcc_filetype.o $(FLAGS_DEBUG) $(FLAGS_COMPILE) \
drcc_filetype.c
$(CC) -c -o test_main_drcc.o \
$(FLAGS_DEBUG) $(FLAGS_COMPILE) $(TEST_FLAGS_COMPILE) \
test_main_drcc.c
-test_drcc_edittext.o: test_drcc_edittext.c $(DRCC_HEADER) $(TEST_DRCC_HEADER)
- $(CC) -c -o test_drcc_edittext.o \
+test_drcc_edittext_system.o: test_drcc_edittext_system.c $(DRCC_HEADER) $(TEST_DRCC_HEADER)
+ $(CC) -c -o test_drcc_edittext_system.o \
$(FLAGS_DEBUG) $(FLAGS_COMPILE) $(TEST_FLAGS_COMPILE) \
- test_drcc_edittext.c
+ test_drcc_edittext_system.c
+test_drcc_edittext_file.o: test_drcc_edittext_file.c $(DRCC_HEADER) $(TEST_DRCC_HEADER)
+ $(CC) -c -o test_drcc_edittext_file.o \
+ $(FLAGS_DEBUG) $(FLAGS_COMPILE) $(TEST_FLAGS_COMPILE) \
+ test_drcc_edittext_file.c
test_drcc_filetype.o: test_drcc_filetype.c $(DRCC_HEADER) $(TEST_DRCC_HEADER)
$(CC) -c -o test_drcc_filetype.o \
$(FLAGS_DEBUG) $(FLAGS_COMPILE) $(TEST_FLAGS_COMPILE) \
#include"../include/drd64_error.h"
#include"../include/drd64_conf.h"
+#include"drcc_config.h"
#include"drcc_main.h"
#include"drcc_init.h"
#include"drcc_term.h"
#include"drcc_menubar.h"
#include"drcc_statusbar.h"
#include"drcc_cmdbar.h"
-#include"drcc_edittext.h"
#include"drcc_filetype.h"
+#include"drcc_edittext_system.h"
+#include"drcc_edittext_file.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_.h
+Function: Header
+Comment:
+----------------------------------------------------------------------*/
+
+#ifndef DRD64_HEADER_DRCC_CONFIG
+#define DRD64_HEADER_DRCC_CONFIG
+
+#define DEBUG_TEXTINFO_OUTPUT 0x00
+ /* Output TextData for Console if this value isn't 0x00 when run test_drcc program.*/
+
+
+
+#define DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO 256
+#define DRD64_DRCC_DEFAULT_LINES_SAFETY_FACTOR 1.5
+#define DRD64_DRCC_DEFAULT_RESERVEBUF_INLINE 20
+#define DRD64_DRCC_DEFAULT_BUFSIZE_RESERVELINE 80
+
+#define DRD64_DRCC_DEFAULT_CREATETEXTFILE_LINES 1024
+#define DRD64_DRCC_DEFAULT_READBUF 1024
+
+#endif /* DRD64_HEADER_XXX */
+
+/* EOF of drd64_.h ----------------------------------- */
Comment:
----------------------------------------------------------------------*/
-#define DRD64_SRC_DRCC_EDITTEXT
+#define DRD64_SRC_DRCC_EDITTEXT_FILE
#include"drcc.h"
-/*----------------------------------------------------------------------
-ReadText
-CreateText
-WriteText
-AddLine
-DeleteLine
-AddChar
-DeleteChar
-AddWord
-DeleteChar
-----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
----------------------------------------------------------------------*/
int
- DrCC_EditText_DebugTextInfo(
- int i_tinfoid,
- Byte b_putflag )
-{
- DWord dw_nowrow;
- 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_GetTextInfo( i_tinfoid );
- if( NULL == p_tinfo ) { return -0x02; }
-
- if( 0x00 != b_putflag ) {
- puts("----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9");
- 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\n", p_tinfo->dw_bufsize );
- printf(" FileDescriptor: %d, File SubType: %04x\n", p_tinfo->i_fd, p_tinfo->w_subtype );
- }
-
- if( 0x00 != b_putflag ) {
- puts("************** ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9");
- puts( "[2] 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( 0 == p_line->dw_strlen ) { return -0x03; }
- if( '\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;
-}
-
-
-/*----------------------------------------------------------------------
-----------------------------------------------------------------------*/
-DWord
- DrCC_EditText_GetMaxNum_TextInfo(
- void )
-{
- return gdw_max_textinfo;
-}
-
-/*----------------------------------------------------------------------
-----------------------------------------------------------------------*/
-DWord
- DrCC_EditText_GetAllocNum_TextInfo(
- void )
-{
- return gdw_alloc_textinfo;
-}
-
-
-/*----------------------------------------------------------------------
-----------------------------------------------------------------------*/
-DRCC_EDITTEXT_EXTERN
-Drd64_DrCC_TextInfo *
- DrCC_EditText_GetTextInfo(
- int i_tinfoid )
-{
- if( ( 0 > i_tinfoid ) || ( gdw_max_textinfo <= i_tinfoid ))
- { return NULL; }
-
- return (gp_textinfo + i_tinfoid);
-}
-
-/*----------------------------------------------------------------------
-----------------------------------------------------------------------*/
-int
- DrCC_EditText_CatPathFilename(
+ DrCC_EditText_File_CatPathFilename(
char *pstr_fullpath,
char *pstr_path,
char *pstr_filename )
/*----------------------------------------------------------------------
----------------------------------------------------------------------*/
int
- DrCC_EditText_InitTextInfo(
- Drd64_DrCC_TextInfo *p_tinfo,
- Word w_subtype,
- DWord dw_maxline,
- DWord dw_bufline,
- DWord dw_bufsize )
-{
- Drd64_DrCC_LineInfo *p_line;
- Byte *pb_text;
- Byte *pb_attr;
-
- if( NULL == p_tinfo ) { return -0x01; }
- if(( 0 == dw_bufsize ) || ( 0 == dw_bufline) ) { return -0x02; }
-
- /* Alloc Text Buffer Memory --- */
- pb_text = (Byte *)malloc( dw_bufsize );
- if( NULL == pb_text ) {
- return -0x11;
- }
- memset( pb_text, 0x00, dw_bufsize );
-
- /* Alloc Attribute Buffer Memory --- */
- pb_attr = (Byte *)malloc( dw_bufsize );
- if( NULL == pb_attr ) {
- return -0x12;
- }
- memset( pb_attr, 0x00, dw_bufsize );
-
- /* Alloc DrCC_LineInfo Struct --- */
- p_line = (Drd64_DrCC_LineInfo *)malloc(
- sizeof( Drd64_DrCC_LineInfo ) * dw_bufline );
- if( NULL == p_line ) {
- return -0x13;
- }
- memset( p_line, 0x00, sizeof( Drd64_DrCC_LineInfo) * dw_bufline );
-
-
- /* Set Param. to TextInfo Struct --- */
- p_tinfo->w_subtype = w_subtype;
- p_tinfo->pb_text = pb_text;
- p_tinfo->pb_attr = pb_attr;
- p_tinfo->p_lineinfo = p_line;
- p_tinfo->dw_bufsize = dw_bufsize;
- p_tinfo->dw_attrsize = dw_bufsize;
- p_tinfo->dw_maxline = dw_maxline;
- p_tinfo->dw_bufline = dw_bufline;
-
- return 0x00;
-}
-
-
-/*----------------------------------------------------------------------
-----------------------------------------------------------------------*/
-int
- DrCC_EditText_ClearTextInfo(
- Drd64_DrCC_TextInfo *p_tinfo )
-{
- if( NULL == p_tinfo ) { return -0x01; }
-
- assert( NULL != p_tinfo->pb_text );
- free( p_tinfo->pb_text );
-
- assert( NULL != p_tinfo->pb_attr );
- free( p_tinfo->pb_attr );
-
- assert( NULL != p_tinfo->p_lineinfo );
- free( p_tinfo->p_lineinfo );
-
- p_tinfo->pb_text = NULL;
- p_tinfo->pb_attr = NULL;
- p_tinfo->p_lineinfo = NULL;
- p_tinfo->dw_bufsize = 0;
- p_tinfo->dw_attrsize = 0;
- p_tinfo->dw_maxline = 0;
- p_tinfo->dw_bufline = 0;
-
- return 0x00;
-}
-
-
-/*----------------------------------------------------------------------
-Alloc
-----------------------------------------------------------------------*/
-Drd64_DrCC_TextInfo *
- DrCC_EditText_AllocTextInfo(
- void )
-{
- DWord dw_cnt;
- Drd64_DrCC_TextInfo *p_textinfo = NULL;
-
- for( dw_cnt = gdw_max_textinfo; dw_cnt > 0; dw_cnt-- ) {
- p_textinfo = (gp_textinfo + dw_cnt - 1);
- assert( NULL != p_textinfo );
- if( -1 == p_textinfo->i_id ) { break; }
- }
- p_textinfo = NULL;
-
- if( 0 == dw_cnt ) {
- if( gdw_max_textinfo == gdw_alloc_textinfo ) {
- p_textinfo = (Drd64_DrCC_TextInfo *)realloc(
- gp_textinfo, sizeof( Drd64_DrCC_TextInfo )
- * (gdw_alloc_textinfo + DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO ) );
- if( NULL == p_textinfo ) { return NULL; }
-
- gp_textinfo = p_textinfo;
- gdw_alloc_textinfo += DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO;
- p_textinfo = NULL;
- }
- dw_cnt = gdw_max_textinfo + 1;
- }
-
- if( 0 < dw_cnt ) {
- p_textinfo = (gp_textinfo + dw_cnt - 1);
-
- p_textinfo->i_id = (int)(dw_cnt - 1);
- p_textinfo->pb_text = NULL;
- p_textinfo->p_lineinfo = NULL;
- p_textinfo->dw_bufsize = 0;
- p_textinfo->dw_maxline = 0;
- p_textinfo->dw_bufline = 0;
-
- gdw_max_textinfo++;
- }
-
- return p_textinfo;
-}
-
-
-/*----------------------------------------------------------------------
-Alloc
-----------------------------------------------------------------------*/
-int
- DrCC_EditText_FreeTextInfo(
- Drd64_DrCC_TextInfo *p_textinfo )
-{
-
- if( NULL == p_textinfo ) { return 0x01; }
- if( -1 == p_textinfo->i_id ) { return 0x02; }
-
- /* Clear TextInfo Struct */
- p_textinfo->i_id = -1;
- p_textinfo->pb_text = NULL;
-
- gdw_max_textinfo--;
-
- return 0x00;
-}
-
-
-/*----------------------------------------------------------------------
-Init
-----------------------------------------------------------------------*/
-DRCC_EDITTEXT_EXTERN int
- DrCC_EditText_Init(
- void )
-{
- Drd64_DrCC_TextInfo *p_textinfo;
-
- if( NULL != gp_textinfo ) { return 0x01; }
-
- p_textinfo = (Drd64_DrCC_TextInfo *)malloc(
- sizeof( Drd64_DrCC_TextInfo ) * DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO );
- if( NULL == p_textinfo ) { return 0x02; }
-
- gp_textinfo = p_textinfo;
- gdw_max_textinfo = 0;
- gdw_alloc_textinfo = DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO;
-
- return 0x00;
-}
-
-
-/*----------------------------------------------------------------------
-Term
-----------------------------------------------------------------------*/
-DRCC_EDITTEXT_EXTERN int
- DrCC_EditText_Term(
- void )
-{
- DWord dw_cnt;
- Drd64_DrCC_TextInfo *p_textinfo;
-
- if( NULL == gp_textinfo) { return 0x01; }
-
-
- for( dw_cnt = gdw_max_textinfo; dw_cnt > 0; dw_cnt-- ) {
- p_textinfo = (gp_textinfo + dw_cnt - 1);
- assert( NULL != p_textinfo );
-
- p_textinfo->i_id = -1;
- }
-
-
- free( gp_textinfo );
- gp_textinfo = NULL;
-
- return 0x00;
-}
-
-
-/*----------------------------------------------------------------------
-----------------------------------------------------------------------*/
-int
- DrCC_EditText_ReadTextFile(
+ DrCC_EditText_File_ReadTextFile(
Drd64_DrCC_TextInfo *p_tinfo,
char *pstr_filepath,
DWord dw_fsize )
/*----------------------------------------------------------------------
Open Text File
----------------------------------------------------------------------*/
-DRCC_EDITTEXT_EXTERN
+DRCC_EDITTEXT_FILE_EXTERN
int
- DrCC_EditText_OpenTextFile(
+ DrCC_EditText_File_OpenTextFile(
char *pstr_path,
char *pstr_filename )
{
DWord dw_bufline;
DWord dw_bufsize;
- i_result = DrCC_EditText_CatPathFilename( str_filepath, pstr_path, pstr_filename );
+ i_result = DrCC_EditText_File_CatPathFilename( str_filepath, pstr_path, pstr_filename );
if( 0x00 != i_result ) { return -0x01; }
/* Get FileSize & Judge text-file & Count TextLines */
if( DRD64_DRCC_FILETYPE_TEXT != t_ftype.b_type ) { return -0x03; }
/* Alloc TextInfo Struct. */
- p_tinfo = DrCC_EditText_AllocTextInfo();
+ p_tinfo = DrCC_EditText_System_AllocTextInfo();
if( NULL == p_tinfo ) { return -0x04; }
/* Alloc File-Buffer */
dw_bufsize = t_ftype.dw_filesize
+ (dw_maxline * DRD64_DRCC_DEFAULT_RESERVEBUF_INLINE)
+ ((dw_bufline - dw_maxline) * DRD64_DRCC_DEFAULT_BUFSIZE_RESERVELINE);
- i_result = DrCC_EditText_InitTextInfo( p_tinfo, t_ftype.w_subtype,
+ i_result = DrCC_EditText_System_InitTextInfo( p_tinfo, t_ftype.w_subtype,
dw_maxline, dw_bufline, dw_bufsize );
if( 0x00 != i_result ) { return -0x05; }
strncpy( p_tinfo->str_filename, pstr_filename, DRD64_MAX_PATH );
/* Read Textfile & Generate LineInfo */
- i_result = DrCC_EditText_ReadTextFile( p_tinfo, str_filepath, t_ftype.dw_filesize );
+ i_result = DrCC_EditText_File_ReadTextFile( p_tinfo, str_filepath, t_ftype.dw_filesize );
if( 0x00 != i_result ) { return -0x05; }
return p_tinfo->i_id;
/*----------------------------------------------------------------------
Create Text File
----------------------------------------------------------------------*/
-DRCC_EDITTEXT_EXTERN
+DRCC_EDITTEXT_FILE_EXTERN
int
- DrCC_EditText_CreateTextFile(
+ DrCC_EditText_File_CreateTextFile(
char *pstr_path,
char *pstr_filename )
{
Drd64_DrCC_TextInfo *p_tinfo;
char str_filepath[DRD64_MAX_PATH + 1];
- i_result = DrCC_EditText_CatPathFilename( str_filepath, pstr_path, pstr_filename );
+ i_result = DrCC_EditText_File_CatPathFilename( str_filepath, pstr_path, pstr_filename );
if( 0x00 != i_result ) { return -0x01; }
i_result = DrCC_FileType_GetFileType_fromFileName( &t_ftype, str_filepath );
}
/* Alloc TextInfo Struct. */
- p_tinfo = DrCC_EditText_AllocTextInfo();
+ p_tinfo = DrCC_EditText_System_AllocTextInfo();
if( NULL == p_tinfo ) { return -0x02; }
/* Alloc File-Buffer */
dw_bufsize = (DRD64_DRCC_DEFAULT_RESERVEBUF_INLINE
+ DRD64_DRCC_DEFAULT_BUFSIZE_RESERVELINE) * dw_bufline;
/* XXX: 0x0001 */
- i_result = DrCC_EditText_InitTextInfo( p_tinfo, 0x0001,
+ i_result = DrCC_EditText_System_InitTextInfo( p_tinfo, 0x0001,
dw_maxline, dw_bufline, dw_bufsize );
if( 0x00 != i_result ) { return -0x03; }
}
-
-
-
/*----------------------------------------------------------------------
Save Text File
----------------------------------------------------------------------*/
+DRCC_EDITTEXT_FILE_EXTERN
int
- DrCC_EditText_SaveTextFile(
+ DrCC_EditText_File_SaveTextFile(
char *pstr_path,
char *pstr_filename,
int i_tinfoid )
Drd64_DrCC_LineInfo *p_line;
if( 0 > i_tinfoid ) { return -0x01; }
- p_tinfo = DrCC_EditText_GetTextInfo( i_tinfoid );
+ p_tinfo = DrCC_EditText_System_GetTextInfo( i_tinfoid );
if( NULL == p_tinfo ) { return -0x02; }
if(( NULL == pstr_path ) || ( NULL == pstr_filename)) {
- i_result = DrCC_EditText_CatPathFilename(
+ i_result = DrCC_EditText_File_CatPathFilename(
str_filepath_tmp, p_tinfo->str_pathname, p_tinfo->str_filename );
if( 0x00 != i_result ) { return -0x03; }
pstr_filepath = str_filepath_tmp;
}
else {
- i_result = DrCC_EditText_CatPathFilename(
+ i_result = DrCC_EditText_File_CatPathFilename(
str_filepath_tmp, pstr_path, pstr_filename );
if( 0x00 != i_result ) { return -0x03; }
pstr_filepath = str_filepath_tmp;
/*----------------------------------------------------------------------
Close Text File
----------------------------------------------------------------------*/
-DRCC_EDITTEXT_EXTERN
+DRCC_EDITTEXT_FILE_EXTERN
int
- DrCC_EditText_CloseFile(
+ DrCC_EditText_File_CloseFile(
int i_tinfoid )
{
int i_result;
Drd64_DrCC_TextInfo *p_tinfo;
- p_tinfo = DrCC_EditText_GetTextInfo( i_tinfoid );
+ p_tinfo = DrCC_EditText_System_GetTextInfo( i_tinfoid );
if( NULL == p_tinfo ) { return -0x01; }
close( p_tinfo->i_fd);
p_tinfo->i_fd = -1;
- i_result = DrCC_EditText_ClearTextInfo( p_tinfo );
+ i_result = DrCC_EditText_System_ClearTextInfo( p_tinfo );
if( 0x00 != i_result ) { return -0x01; }
- i_result = DrCC_EditText_FreeTextInfo( p_tinfo );
+ i_result = DrCC_EditText_System_FreeTextInfo( p_tinfo );
if( 0x00 != i_result ) { return -0x02; }
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_FILE
+#define DRD64_HEADER_DRCC_EDITTEXT_FILE
+
+#ifdef DRD64_SRC_DRCC_EDITTEXT_FILE
+ #define DRCC_EDITTEXT_FILE_EXTERN
+#else
+ #define DRCC_EDITTEXT_FILE_EXTERN extern
+#endif
+
+#if defined DRD64_SRC_DRCC_EDITTEXT_FILE
+ #define DRCC_EDITTEXT_FILE_INTERNALFUNC
+#elif defined DRD64_SRC_TEST_DRCC_EDITTEXT_FILE
+ #define DRCC_EDITTEXT_FILE_INTERNALFUNC
+#endif
+
+DRCC_EDITTEXT_FILE_EXTERN
+ int DrCC_EditText_File_OpenTextFile( char *pstr_path, char *pstr_filename );
+DRCC_EDITTEXT_FILE_EXTERN
+ int DrCC_EditText_File_CreateTextFile( char *pstr_path, char *pstr_filename );
+DRCC_EDITTEXT_FILE_EXTERN
+ int DrCC_EditText_File_CloseFile( int i_tinfoid );
+DRCC_EDITTEXT_FILE_EXTERN
+ int DrCC_EditText_File_SaveTextFile(
+ char *pstr_path, char *pstr_filename, int i_tinfoid );
+
+#ifdef DRCC_EDITTEXT_FILE_INTERNALFUNC
+int DrCC_EditText_File_CatPathFilename(
+ char *pstr_fullpath, char *pstr_path, char *pstr_filename );
+int DrCC_EditText_File_ReadTextFile(
+ Drd64_DrCC_TextInfo *p_tinfo, char *pstr_filepath, DWord dw_fsize );
+#endif
+
+#endif /* DRD64_HEADER_DRCC_EDITTEXT */
+
+
+/* EOF of drd64_.h ----------------------------------- */
--- /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_SYSTEM
+#include"drcc.h"
+
+/*----------------------------------------------------------------------
+----------------------------------------------------------------------*/
+DRCC_EDITTEXT_SYSTEM_EXTERN
+int
+ DrCC_EditText_DebugTextInfo(
+ int i_tinfoid,
+ Byte b_putflag )
+{
+ DWord dw_nowrow;
+ 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; }
+
+ if( 0x00 != b_putflag ) {
+ puts("----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9");
+ 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\n", p_tinfo->dw_bufsize );
+ printf(" FileDescriptor: %d, File SubType: %04x\n", p_tinfo->i_fd, p_tinfo->w_subtype );
+ }
+
+ if( 0x00 != b_putflag ) {
+ puts("************** ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9");
+ puts( "[2] 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( 0 == p_line->dw_strlen ) { return -0x03; }
+ if( '\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;
+}
+
+
+/*----------------------------------------------------------------------
+----------------------------------------------------------------------*/
+DWord
+ DrCC_EditText_System_GetMaxNum_TextInfo(
+ void )
+{
+ return gdw_max_textinfo;
+}
+
+/*----------------------------------------------------------------------
+----------------------------------------------------------------------*/
+DWord
+ DrCC_EditText_System_GetAllocNum_TextInfo(
+ void )
+{
+ return gdw_alloc_textinfo;
+}
+
+
+/*----------------------------------------------------------------------
+----------------------------------------------------------------------*/
+DRCC_EDITTEXT_SYSTEM_EXTERN
+Drd64_DrCC_TextInfo *
+ DrCC_EditText_System_GetTextInfo(
+ int i_tinfoid )
+{
+ if( ( 0 > i_tinfoid ) || ( gdw_max_textinfo <= i_tinfoid ))
+ { return NULL; }
+
+ return (gp_textinfo + i_tinfoid);
+}
+
+
+/*----------------------------------------------------------------------
+----------------------------------------------------------------------*/
+DRCC_EDITTEXT_SYSTEM_EXTERN
+int
+ DrCC_EditText_System_InitTextInfo(
+ Drd64_DrCC_TextInfo *p_tinfo,
+ Word w_subtype,
+ DWord dw_maxline,
+ DWord dw_bufline,
+ DWord dw_bufsize )
+{
+ Drd64_DrCC_LineInfo *p_line;
+ Byte *pb_text;
+ Byte *pb_attr;
+
+ if( NULL == p_tinfo ) { return -0x01; }
+ if(( 0 == dw_bufsize ) || ( 0 == dw_bufline) ) { return -0x02; }
+
+ /* Alloc Text Buffer Memory --- */
+ pb_text = (Byte *)malloc( dw_bufsize );
+ if( NULL == pb_text ) {
+ return -0x11;
+ }
+ memset( pb_text, 0x00, dw_bufsize );
+
+ /* Alloc Attribute Buffer Memory --- */
+ pb_attr = (Byte *)malloc( dw_bufsize );
+ if( NULL == pb_attr ) {
+ return -0x12;
+ }
+ memset( pb_attr, 0x00, dw_bufsize );
+
+ /* Alloc DrCC_LineInfo Struct --- */
+ p_line = (Drd64_DrCC_LineInfo *)malloc(
+ sizeof( Drd64_DrCC_LineInfo ) * dw_bufline );
+ if( NULL == p_line ) {
+ return -0x13;
+ }
+ memset( p_line, 0x00, sizeof( Drd64_DrCC_LineInfo) * dw_bufline );
+
+
+ /* Set Param. to TextInfo Struct --- */
+ p_tinfo->w_subtype = w_subtype;
+ p_tinfo->pb_text = pb_text;
+ p_tinfo->pb_attr = pb_attr;
+ p_tinfo->p_lineinfo = p_line;
+ p_tinfo->dw_bufsize = dw_bufsize;
+ p_tinfo->dw_attrsize = dw_bufsize;
+ p_tinfo->dw_maxline = dw_maxline;
+ p_tinfo->dw_bufline = dw_bufline;
+
+ return 0x00;
+}
+
+
+/*----------------------------------------------------------------------
+----------------------------------------------------------------------*/
+DRCC_EDITTEXT_SYSTEM_EXTERN
+int
+ DrCC_EditText_System_ClearTextInfo(
+ Drd64_DrCC_TextInfo *p_tinfo )
+{
+ if( NULL == p_tinfo ) { return -0x01; }
+
+ assert( NULL != p_tinfo->pb_text );
+ free( p_tinfo->pb_text );
+
+ assert( NULL != p_tinfo->pb_attr );
+ free( p_tinfo->pb_attr );
+
+ assert( NULL != p_tinfo->p_lineinfo );
+ free( p_tinfo->p_lineinfo );
+
+ p_tinfo->pb_text = NULL;
+ p_tinfo->pb_attr = NULL;
+ p_tinfo->p_lineinfo = NULL;
+ p_tinfo->dw_bufsize = 0;
+ p_tinfo->dw_attrsize = 0;
+ p_tinfo->dw_maxline = 0;
+ p_tinfo->dw_bufline = 0;
+
+ return 0x00;
+}
+
+
+/*----------------------------------------------------------------------
+Alloc
+----------------------------------------------------------------------*/
+DRCC_EDITTEXT_SYSTEM_EXTERN
+Drd64_DrCC_TextInfo *
+ DrCC_EditText_System_AllocTextInfo(
+ void )
+{
+ DWord dw_cnt;
+ Drd64_DrCC_TextInfo *p_textinfo = NULL;
+
+ for( dw_cnt = gdw_max_textinfo; dw_cnt > 0; dw_cnt-- ) {
+ p_textinfo = (gp_textinfo + dw_cnt - 1);
+ assert( NULL != p_textinfo );
+ if( -1 == p_textinfo->i_id ) { break; }
+ }
+ p_textinfo = NULL;
+
+ if( 0 == dw_cnt ) {
+ if( gdw_max_textinfo == gdw_alloc_textinfo ) {
+ p_textinfo = (Drd64_DrCC_TextInfo *)realloc(
+ gp_textinfo, sizeof( Drd64_DrCC_TextInfo )
+ * (gdw_alloc_textinfo + DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO ) );
+ if( NULL == p_textinfo ) { return NULL; }
+
+ gp_textinfo = p_textinfo;
+ gdw_alloc_textinfo += DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO;
+ p_textinfo = NULL;
+ }
+ dw_cnt = gdw_max_textinfo + 1;
+ }
+
+ if( 0 < dw_cnt ) {
+ p_textinfo = (gp_textinfo + dw_cnt - 1);
+
+ p_textinfo->i_id = (int)(dw_cnt - 1);
+ p_textinfo->pb_text = NULL;
+ p_textinfo->p_lineinfo = NULL;
+ p_textinfo->dw_bufsize = 0;
+ p_textinfo->dw_maxline = 0;
+ p_textinfo->dw_bufline = 0;
+
+ gdw_max_textinfo++;
+ }
+
+ return p_textinfo;
+}
+
+
+/*----------------------------------------------------------------------
+Alloc
+----------------------------------------------------------------------*/
+DRCC_EDITTEXT_SYSTEM_EXTERN
+int
+ DrCC_EditText_System_FreeTextInfo(
+ Drd64_DrCC_TextInfo *p_textinfo )
+{
+
+ if( NULL == p_textinfo ) { return 0x01; }
+ if( -1 == p_textinfo->i_id ) { return 0x02; }
+
+ /* Clear TextInfo Struct */
+ p_textinfo->i_id = -1;
+ p_textinfo->pb_text = NULL;
+
+ gdw_max_textinfo--;
+
+ return 0x00;
+}
+
+
+/*----------------------------------------------------------------------
+Init
+----------------------------------------------------------------------*/
+DRCC_EDITTEXT_SYSTEM_EXTERN
+int
+ DrCC_EditText_System_Init(
+ void )
+{
+ Drd64_DrCC_TextInfo *p_textinfo;
+
+ if( NULL != gp_textinfo ) { return 0x01; }
+
+ p_textinfo = (Drd64_DrCC_TextInfo *)malloc(
+ sizeof( Drd64_DrCC_TextInfo ) * DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO );
+ if( NULL == p_textinfo ) { return 0x02; }
+
+ gp_textinfo = p_textinfo;
+ gdw_max_textinfo = 0;
+ gdw_alloc_textinfo = DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO;
+
+ return 0x00;
+}
+
+
+/*----------------------------------------------------------------------
+Term
+----------------------------------------------------------------------*/
+DRCC_EDITTEXT_SYSTEM_EXTERN
+int
+ DrCC_EditText_System_Term(
+ void )
+{
+ DWord dw_cnt;
+ Drd64_DrCC_TextInfo *p_textinfo;
+
+ if( NULL == gp_textinfo) { return 0x01; }
+
+
+ for( dw_cnt = gdw_max_textinfo; dw_cnt > 0; dw_cnt-- ) {
+ p_textinfo = (gp_textinfo + dw_cnt - 1);
+ assert( NULL != p_textinfo );
+
+ p_textinfo->i_id = -1;
+ }
+
+
+ free( gp_textinfo );
+ gp_textinfo = NULL;
+
+ return 0x00;
+}
+
+
+/* EOF of drd64_.c ---------------------------------- */
+
Comment:
----------------------------------------------------------------------*/
-#ifndef DRD64_HEADER_DRCC_EDITTEXT
-#define DRD64_HEADER_DRCC_EDITTEXT
+#ifndef DRD64_HEADER_DRCC_EDITTEXT_SYSTEM
+#define DRD64_HEADER_DRCC_EDITTEXT_SYSTEM
-#ifdef DRD64_SRC_DRCC_EDITTEXT
- #define DRCC_EDITTEXT_EXTERN
+#ifdef DRD64_SRC_DRCC_EDITTEXT_SYSTEM
+ #define DRCC_EDITTEXT_SYSTEM_EXTERN
#else
- #define DRCC_EDITTEXT_EXTERN extern
+ #define DRCC_EDITTEXT_SYSTEM_EXTERN extern
#endif
-#if defined DRD64_SRC_DRCC_EDITTEXT
- #define DRCC_EDITTEXT_INTERNALFUNC
-#elif defined DRD64_SRC_TEST_DRCC_EDITTEXT
- #define DRCC_EDITTEXT_INTERNALFUNC
+#if defined DRD64_SRC_DRCC_EDITTEXT_SYSTEM
+ #define DRCC_EDITTEXT_SYSTEM_INTERNALFUNC
+#elif defined DRD64_SRC_TEST_DRCC_EDITTEXT_SYSTEM
+ #define DRCC_EDITTEXT_SYSTEM_INTERNALFUNC
#endif
-#define DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO 256
-#define DRD64_DRCC_DEFAULT_LINES_SAFETY_FACTOR 1.5
-#define DRD64_DRCC_DEFAULT_RESERVEBUF_INLINE 20
-#define DRD64_DRCC_DEFAULT_BUFSIZE_RESERVELINE 80
-
-#define DRD64_DRCC_DEFAULT_CREATETEXTFILE_LINES 1024
-#define DRD64_DRCC_DEFAULT_READBUF 1024
-
typedef struct {
DWord dw_start; /* Start Bytes of This Line in Text-Buffer */
DWord dw_strlen; /* Length of This LineString */
DWord dw_linelen; /* Line Alloced Bytes */
- //DWord dw_nextline; /* Start Bytes of Next Line from TextBuffer Start */
void *p_before;
void *p_next;
} Drd64_DrCC_LineInfo;
} Drd64_DrCC_TextInfo;
-#ifdef DRD64_SRC_DRCC_EDITTEXT
+#ifdef DRD64_SRC_DRCC_EDITTEXT_SYSTEM
/* Global Parameter */
Drd64_DrCC_TextInfo *gp_textinfo = NULL;
DWord gdw_max_textinfo = 0;
DWord gdw_alloc_textinfo = 0;
#endif
-DRCC_EDITTEXT_EXTERN int DrCC_EditText_Term( void );
-DRCC_EDITTEXT_EXTERN int DrCC_EditText_Init( void );
-DRCC_EDITTEXT_EXTERN Drd64_DrCC_TextInfo * DrCC_EditText_GetTextInfo( int i_tinfoid );
-DRCC_EDITTEXT_EXTERN int DrCC_EditText_OpenTextFile( char *pstr_path, char *pstr_filename );
-DRCC_EDITTEXT_EXTERN int DrCC_EditText_CreateTextFile( char *pstr_path, char *pstr_filename );
-DRCC_EDITTEXT_EXTERN int DrCC_EditText_CloseFile( int i_tinfoid );
-
-
-#ifdef DRCC_EDITTEXT_INTERNALFUNC
-int DrCC_EditText_DebugTextInfo( int i_tinfoid, Byte b_putflag );
-DWord DrCC_EditText_GetMaxNum_TextInfo(void);
-DWord DrCC_EditText_GetAllocNum_TextInfo(void);
-int DrCC_EditText_CatPathFilename(
- char *pstr_fullpath, char *pstr_path, char *pstr_filename );
-int DrCC_EditText_InitTextInfo( Drd64_DrCC_TextInfo *p_tinfo,
- Word w_subtype, DWord dw_maxline, DWord dw_bufline, DWord dw_bufsize );
-int DrCC_EditText_ClearTextInfo( Drd64_DrCC_TextInfo *p_tinfo );
-Drd64_DrCC_TextInfo *DrCC_EditText_AllocTextInfo( void );
-int DrCC_EditText_FreeTextInfo( Drd64_DrCC_TextInfo *p_textinfo );
-int DrCC_EditText_ReadTextFile(
- Drd64_DrCC_TextInfo *p_tinfo, char *pstr_filepath, DWord dw_fsize );
-int DrCC_EditText_SaveTextFile(
- char *pstr_path, char *pstr_filename, int i_tinfoid );
+DRCC_EDITTEXT_SYSTEM_EXTERN
+ int DrCC_EditText_DebugTextInfo( int i_tinfoid, Byte b_putflag );
+DRCC_EDITTEXT_SYSTEM_EXTERN
+ int DrCC_EditText_System_Term( void );
+DRCC_EDITTEXT_SYSTEM_EXTERN
+ int DrCC_EditText_System_Init( void );
+DRCC_EDITTEXT_SYSTEM_EXTERN
+ Drd64_DrCC_TextInfo *DrCC_EditText_System_GetTextInfo( int i_tinfoid );
+DRCC_EDITTEXT_SYSTEM_EXTERN
+ int DrCC_EditText_System_InitTextInfo(
+ Drd64_DrCC_TextInfo *p_tinfo, Word w_subtype, DWord dw_maxline,
+ DWord dw_bufline, DWord dw_bufsize );
+DRCC_EDITTEXT_SYSTEM_EXTERN
+ Drd64_DrCC_TextInfo *DrCC_EditText_System_AllocTextInfo( void );
+DRCC_EDITTEXT_SYSTEM_EXTERN
+ int DrCC_EditText_System_FreeTextInfo( Drd64_DrCC_TextInfo *p_textinfo );
+DRCC_EDITTEXT_SYSTEM_EXTERN
+ int DrCC_EditText_System_ClearTextInfo( Drd64_DrCC_TextInfo *p_tinfo );
+
+#ifdef DRCC_EDITTEXT_SYSTEM_INTERNALFUNC
+DWord DrCC_EditText_System_GetMaxNum_TextInfo(void);
+DWord DrCC_EditText_System_GetAllocNum_TextInfo(void);
#endif
#endif /* DRD64_HEADER_DRCC_EDITTEXT */
#include"CUnit/Basic.h"
-#ifdef DRD64_SRC_XXX
- #define DRD64_XXX_EXTERN
+#ifdef DRD64_SRC_TEST_DRCC_EDITTEXT_SYSTEM
+ #define DRD64_TEST_DRCC_EDITTEXT_SYSTEM_EXTERN
#else
- #define DRD64_XXX_EXTERN extern
+ #define DRD64_TEST_DRCC_EDITTEXT_SYSTEM_EXTERN extern
#endif
+DRD64_TEST_DRCC_EDITTEXT_SYSTEM_EXTERN int Test_DrCC_EditText_System( void );
-#ifdef DRD64_SRC_TEST_DRCC_EDITTEXT
- #define DRD64_TEST_DRCC_EDITTEXT_EXTERN
+#ifdef DRD64_SRC_TEST_DRCC_EDITTEXT_FILE
+ #define DRD64_TEST_DRCC_EDITTEXT_FILE_EXTERN
#else
- #define DRD64_TEST_DRCC_EDITTEXT_EXTERN extern
+ #define DRD64_TEST_DRCC_EDITTEXT_FILE_EXTERN extern
#endif
-DRD64_TEST_DRCC_EDITTEXT_EXTERN int Test_DrCC_EditText( void );
+DRD64_TEST_DRCC_EDITTEXT_FILE_EXTERN int Test_DrCC_EditText_File( void );
#ifdef DRD64_SRC_TEST_DRCC_FILETYPE
#define DRD64_TEST_DRCC_FILETYPE_EXTERN
+++ /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_TEST_DRCC_EDITTEXT
-#include"test_drcc.h"
-#include"drcc.h"
-
-#define DEBUG_TEXTINFO_OUTPUT 0x00
- /* Output TextData for Console if this value isn't 0x00 when run test_drcc program.*/
-
-/* DrCC_EditText_SaveTextFile *****************************************/
-/*--------------------------------------------------------------------*/
-void Test_DrCC_EditText_SaveTextFile_test00_001(void)
-{
- int i_tinfoid;
- int i_result;
-
- i_tinfoid = DrCC_EditText_OpenTextFile("./testdata", "drcc_testfile.c");
- CU_ASSERT( 0x00 <= i_tinfoid );
-
- i_result = DrCC_EditText_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
- CU_ASSERT( 0x00 == i_result );
-
- i_result = DrCC_EditText_SaveTextFile( NULL, NULL, i_tinfoid );
- CU_ASSERT( 0x00 == i_result );
-
- i_result = DrCC_EditText_CloseFile( i_tinfoid );
- CU_ASSERT( 0x00 == i_result );
-
- return;
-}
-
-/*--------------------------------------------------------------------*/
-void Test_DrCC_EditText_SaveTextFile_test00_002(void)
-{
- int i_tinfoid;
- int i_result;
-
- i_tinfoid = DrCC_EditText_OpenTextFile("./testdata", "drcc_testfile.h");
- CU_ASSERT( 0x00 <= i_tinfoid );
-
- i_result = DrCC_EditText_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
- CU_ASSERT( 0x00 == i_result );
-
- i_result = DrCC_EditText_SaveTextFile( "./testdata", "savetest.h", i_tinfoid );
- CU_ASSERT( 0x00 == i_result );
-
- i_result = DrCC_EditText_CloseFile( i_tinfoid );
- CU_ASSERT( 0x00 == i_result );
-
- return;
-}
-
-
-/* DrCC_EditText_OpenTextFile *****************************************/
-/*--------------------------------------------------------------------*/
-void Test_DrCC_EditText_OpenTextFile_test00_001(void)
-{
- int i_tinfoid;
- int i_result;
-
- i_tinfoid = DrCC_EditText_OpenTextFile("./testdata", "drcc_testfile.c");
- CU_ASSERT( 0x00 <= i_tinfoid );
-
- i_result = DrCC_EditText_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
- CU_ASSERT( 0x00 == i_result );
-
- i_result = DrCC_EditText_CloseFile( i_tinfoid );
- CU_ASSERT( 0x00 == i_result );
-
- return;
-}
-
-/*--------------------------------------------------------------------*/
-void Test_DrCC_EditText_OpenTextFile_test00_002(void)
-{
- int i_tinfoid;
- int i_result;
-
- i_tinfoid = DrCC_EditText_OpenTextFile("./testdata", "drcc_testfile.h");
- CU_ASSERT( 0x00 <= i_tinfoid );
-
- i_result = DrCC_EditText_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
- CU_ASSERT( 0x00 == i_result );
-
- i_result = DrCC_EditText_CloseFile( i_tinfoid );
- CU_ASSERT( 0x00 == i_result );
-
- return;
-}
-
-/*--------------------------------------------------------------------*/
-void Test_DrCC_EditText_OpenTextFile_test00_003(void)
-{
- int i_tinfoid;
- int i_result;
-
- i_tinfoid = DrCC_EditText_OpenTextFile("./testdata", "x8664db.csv");
- CU_ASSERT( 0x00 <= i_tinfoid );
-
- i_result = DrCC_EditText_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
- CU_ASSERT( 0x00 == i_result );
-
- i_result = DrCC_EditText_CloseFile( i_tinfoid );
- CU_ASSERT( 0x00 == i_result );
-
- return;
-}
-
-/*--------------------------------------------------------------------*/
-void Test_DrCC_EditText_OpenTextFile_test00_004(void)
-{
- int i_tinfoid;
- int i_result;
-
- i_tinfoid = DrCC_EditText_OpenTextFile("./testdata", "Makefile");
- CU_ASSERT( 0x00 <= i_tinfoid );
-
- i_result = DrCC_EditText_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
- CU_ASSERT( 0x00 == i_result );
-
- i_result = DrCC_EditText_CloseFile( i_tinfoid );
- CU_ASSERT( 0x00 == i_result );
-
- return;
-}
-
-
-/* DrCC_EditText_CatPathFilename **************************************/
-/*--------------------------------------------------------------------*/
-void Test_DrCC_EditText_CatPathFilename_test00_001(void)
-{
- int i_result;
- char str_temp[DRD64_MAX_PATH];
-
- i_result = DrCC_EditText_CatPathFilename(
- str_temp, "/tmp/test", "testfile.c");
- CU_ASSERT( 0x00 == i_result );
- CU_ASSERT_STRING_EQUAL( str_temp, "/tmp/test/testfile.c");
-
- return;
-}
-
-/* DrCC_EditText_InitTextInfo *****************************************/
-/*--------------------------------------------------------------------*/
-void Test_DrCC_EditText_InitTextInfo_test00_001(void)
-{
- int i_result;
- Drd64_DrCC_TextInfo t_tinfo;
-
- i_result = DrCC_EditText_InitTextInfo(
- &t_tinfo,DRD64_DRCC_FILESUBTYPE_CSRC,
- 10000, 10200, 100000 );
- CU_ASSERT_FATAL( 0x00 == i_result );
- CU_ASSERT( DRD64_DRCC_FILESUBTYPE_CSRC == t_tinfo.w_subtype );
- CU_ASSERT_PTR_NOT_NULL( t_tinfo.pb_text );
- CU_ASSERT_PTR_NOT_NULL( t_tinfo.pb_attr );
- CU_ASSERT_PTR_NOT_NULL( t_tinfo.p_lineinfo );
- CU_ASSERT( 100000 == t_tinfo.dw_bufsize );
- CU_ASSERT( 100000 == t_tinfo.dw_attrsize );
- CU_ASSERT( 10000 == t_tinfo.dw_maxline );
- CU_ASSERT( 10200 == t_tinfo.dw_bufline );
-
- i_result = DrCC_EditText_ClearTextInfo( &t_tinfo );
- CU_ASSERT( 0x00 == i_result );
- CU_ASSERT_PTR_NULL( t_tinfo.pb_text );
- CU_ASSERT_PTR_NULL( t_tinfo.pb_attr );
- CU_ASSERT_PTR_NULL( t_tinfo.p_lineinfo );
- CU_ASSERT( 0 == t_tinfo.dw_bufsize );
- CU_ASSERT( 0 == t_tinfo.dw_attrsize );
- CU_ASSERT( 0 == t_tinfo.dw_maxline );
- CU_ASSERT( 0 == t_tinfo.dw_bufline );
-
- return;
-}
-
-/*--------------------------------------------------------------------*/
-void Test_DrCC_EditText_InitTextInfo_test01_001(void)
-{
- int i_result;
-
- i_result = DrCC_EditText_InitTextInfo(
- NULL, DRD64_DRCC_FILESUBTYPE_CSRC,
- 10000, 10200, 100000 );
- CU_ASSERT_FATAL( 0x00 != i_result );
-
- return;
-}
-
-/*--------------------------------------------------------------------*/
-void Test_DrCC_EditText_InitTextInfo_test01_002(void)
-{
- int i_result;
- Drd64_DrCC_TextInfo t_tinfo;
-
- i_result = DrCC_EditText_InitTextInfo(
- &t_tinfo, DRD64_DRCC_FILESUBTYPE_CSRC,
- 10000, 10200, 100000 );
- CU_ASSERT_FATAL( 0x00 != i_result );
-
- return;
-}
-
-/*--------------------------------------------------------------------*/
-void Test_DrCC_EditText_InitTextInfo_test01_003(void)
-{
- int i_result;
- Drd64_DrCC_TextInfo t_tinfo;
-
- i_result = DrCC_EditText_InitTextInfo(
- &t_tinfo, DRD64_DRCC_FILESUBTYPE_CSRC,
- 10000, 0, 100000 );
- CU_ASSERT_FATAL( 0x00 != i_result );
-
- return;
-}
-
-/*--------------------------------------------------------------------*/
-void Test_DrCC_EditText_InitTextInfo_test01_004(void)
-{
- int i_result;
- Drd64_DrCC_TextInfo t_tinfo;
-
- i_result = DrCC_EditText_InitTextInfo(
- &t_tinfo, DRD64_DRCC_FILESUBTYPE_CSRC,
- 10000, 10200, 0 );
- CU_ASSERT_FATAL( 0x00 != i_result );
-
- return;
-}
-
-/* DrCC_EditText_AllocTextInfo ****************************************/
-/*--------------------------------------------------------------------*/
-void Test_DrCC_EditText_AllocTextInfo_test00_001(void)
-{
- int i_cnt;
- int i_result;
- Drd64_DrCC_TextInfo *p_tinfo[DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO * 2 + 2];
-
- for( i_cnt = 0; i_cnt < (DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO * 2); i_cnt++ ) {
- p_tinfo[i_cnt] = DrCC_EditText_AllocTextInfo();
- CU_ASSERT_FATAL( NULL != p_tinfo[i_cnt] );
- CU_ASSERT( i_cnt == p_tinfo[i_cnt]->i_id );
- }
-
- for( i_cnt = (DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO / 2);
- i_cnt < ((DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO / 2)
- + DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO);
- i_cnt++ ) {
- i_result = DrCC_EditText_FreeTextInfo( p_tinfo[i_cnt] );
- CU_ASSERT_FATAL( 0x00 == i_result );
- p_tinfo[i_cnt] = NULL;
- }
-
- for( i_cnt = (DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO / 2);
- i_cnt < ((DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO / 2)
- + DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO);
- i_cnt++ ) {
- p_tinfo[i_cnt] = DrCC_EditText_AllocTextInfo();
- CU_ASSERT( NULL != p_tinfo[i_cnt] );
- }
-
- for( i_cnt = 0; i_cnt < (DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO * 2); i_cnt++ ) {
- i_result = DrCC_EditText_FreeTextInfo( p_tinfo[i_cnt] );
- CU_ASSERT_FATAL( 0x00 == i_result );
- p_tinfo[i_cnt] = NULL;
- }
-
- CU_ASSERT( 0 == DrCC_EditText_GetMaxNum_TextInfo() );
-
- return;
-}
-
-
-/* DrCC_EditText_AllocTextInfo ****************************************/
-/*--------------------------------------------------------------------*/
-void Test_DrCC_EditText_FreeTextInfo_test00_001(void)
-{
- CU_ASSERT( 0x00 != DrCC_EditText_FreeTextInfo( NULL ) );
- return;
-}
-
-
-/* DrCC_EditText_Init *************************************************/
-/*--------------------------------------------------------------------*/
-void Test_DrCC_EditText_Init_test00_001(void)
-{
- int i_result;
-
- i_result = DrCC_EditText_Init();
- CU_ASSERT( 0x00 == i_result );
-
- return;
-}
-
-/*--------------------------------------------------------------------*/
-void Test_DrCC_EditText_Init_test00_002(void)
-{
- int i_result;
-
- i_result = DrCC_EditText_Init();
- CU_ASSERT( 0x00 == i_result );
-
- return;
-}
-
-
-/* DrCC_EditText_Term *************************************************/
-/*--------------------------------------------------------------------*/
-void Test_DrCC_EditText_Term_test00_001(void)
-{
- int i_result;
-
- i_result = DrCC_EditText_Term();
- CU_ASSERT( 0x00 == i_result );
-
- return;
-}
-
-/*--------------------------------------------------------------------*/
-void Test_DrCC_EditText_Term_test00_002(void)
-{
- int i_result;
-
- i_result = DrCC_EditText_Term();
- CU_ASSERT( 0x00 == i_result );
-
- return;
-}
-
-
-/*----------------------------------------------------------------------
-----------------------------------------------------------------------*/
-DRD64_TEST_DRCC_EDITTEXT_EXTERN
-int
- Test_DrCC_EditText(
- void )
-{
- CU_pSuite pt_edittext;
-
- pt_edittext = CU_add_suite( "DrCC_EditText", NULL, NULL );
-
- CU_add_test( pt_edittext, "EditText_Init_test00_001",
- Test_DrCC_EditText_Init_test00_001 );
- CU_add_test( pt_edittext, "EditText_Term_test00_001",
- Test_DrCC_EditText_Term_test00_001 );
-
- CU_add_test( pt_edittext, "EditText_Init_test00_002",
- Test_DrCC_EditText_Init_test00_002 );
-
- CU_add_test( pt_edittext, "EditText_AllocTextInfo_test00_001",
- Test_DrCC_EditText_AllocTextInfo_test00_001 );
- CU_add_test( pt_edittext, "EditText_FreeTextInfo_test00_001",
- Test_DrCC_EditText_FreeTextInfo_test00_001 );
-
- /* Test InitTextInfo() & ClearTextInfo() ---*/
- CU_add_test( pt_edittext, "EditText_InitTextInfo_test00_001",
- Test_DrCC_EditText_InitTextInfo_test00_001 );
- CU_add_test( pt_edittext, "EditText_InitTextInfo_test01_001",
- Test_DrCC_EditText_InitTextInfo_test00_001 );
- CU_add_test( pt_edittext, "EditText_InitTextInfo_test01_002",
- Test_DrCC_EditText_InitTextInfo_test00_001 );
- CU_add_test( pt_edittext, "EditText_InitTextInfo_test01_003",
- Test_DrCC_EditText_InitTextInfo_test00_001 );
- CU_add_test( pt_edittext, "EditText_InitTextInfo_test01_004",
- Test_DrCC_EditText_InitTextInfo_test00_001 );
-
- CU_add_test( pt_edittext, "EditText_CatPathFilename_test00_001",
- Test_DrCC_EditText_CatPathFilename_test00_001 );
-
- CU_add_test( pt_edittext, "EditText_OpenTextFile_test00_001",
- Test_DrCC_EditText_OpenTextFile_test00_001 );
- CU_add_test( pt_edittext, "EditText_OpenTextFile_test00_002",
- Test_DrCC_EditText_OpenTextFile_test00_002 );
- CU_add_test( pt_edittext, "EditText_OpenTextFile_test00_003",
- Test_DrCC_EditText_OpenTextFile_test00_003 );
- CU_add_test( pt_edittext, "EditText_OpenTextFile_test00_004",
- Test_DrCC_EditText_OpenTextFile_test00_004 );
-
- CU_add_test( pt_edittext, "EditText_SaveTextFile_test00_001",
- Test_DrCC_EditText_SaveTextFile_test00_001 );
- CU_add_test( pt_edittext, "EditText_SaveTextFile_test00_002",
- Test_DrCC_EditText_SaveTextFile_test00_002 );
-
- CU_add_test( pt_edittext, "EditText_Term_test00_002",
- Test_DrCC_EditText_Term_test00_002 );
-
- 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_.c
+Function:
+Comment:
+----------------------------------------------------------------------*/
+
+#define DRD64_SRC_TEST_DRCC_EDITTEXT_FILE
+#include"test_drcc.h"
+#include"drcc.h"
+
+/* DrCC_EditText_File_SaveTextFile *****************************************/
+/*--------------------------------------------------------------------*/
+void Test_DrCC_EditText_File_SaveTextFile_test00_001(void)
+{
+ int i_tinfoid;
+ int i_result;
+
+ 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 );
+ CU_ASSERT( 0x00 == i_result );
+
+ i_result = DrCC_EditText_File_SaveTextFile( NULL, NULL, i_tinfoid );
+ CU_ASSERT( 0x00 == i_result );
+
+ i_result = DrCC_EditText_File_CloseFile( i_tinfoid );
+ CU_ASSERT( 0x00 == i_result );
+
+ return;
+}
+
+/*--------------------------------------------------------------------*/
+void Test_DrCC_EditText_File_SaveTextFile_test00_002(void)
+{
+ int i_tinfoid;
+ int i_result;
+
+ 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 );
+ CU_ASSERT( 0x00 == i_result );
+
+ i_result = DrCC_EditText_File_SaveTextFile( "./testdata", "savetest.h", i_tinfoid );
+ CU_ASSERT( 0x00 == i_result );
+
+ i_result = DrCC_EditText_File_CloseFile( i_tinfoid );
+ CU_ASSERT( 0x00 == i_result );
+
+ return;
+}
+
+
+/* DrCC_EditText_File_OpenTextFile *****************************************/
+/*--------------------------------------------------------------------*/
+void Test_DrCC_EditText_File_OpenTextFile_test00_001(void)
+{
+ int i_tinfoid;
+ int i_result;
+
+ 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 );
+ CU_ASSERT( 0x00 == i_result );
+
+ i_result = DrCC_EditText_File_CloseFile( i_tinfoid );
+ CU_ASSERT( 0x00 == i_result );
+
+ return;
+}
+
+/*--------------------------------------------------------------------*/
+void Test_DrCC_EditText_File_OpenTextFile_test00_002(void)
+{
+ int i_tinfoid;
+ int i_result;
+
+ 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 );
+ CU_ASSERT( 0x00 == i_result );
+
+ i_result = DrCC_EditText_File_CloseFile( i_tinfoid );
+ CU_ASSERT( 0x00 == i_result );
+
+ return;
+}
+
+/*--------------------------------------------------------------------*/
+void Test_DrCC_EditText_File_OpenTextFile_test00_003(void)
+{
+ int i_tinfoid;
+ int i_result;
+
+ i_tinfoid = DrCC_EditText_File_OpenTextFile("./testdata", "x8664db.csv");
+ CU_ASSERT( 0x00 <= i_tinfoid );
+
+ i_result = DrCC_EditText_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
+ CU_ASSERT( 0x00 == i_result );
+
+ i_result = DrCC_EditText_File_CloseFile( i_tinfoid );
+ CU_ASSERT( 0x00 == i_result );
+
+ return;
+}
+
+/*--------------------------------------------------------------------*/
+void Test_DrCC_EditText_File_OpenTextFile_test00_004(void)
+{
+ int i_tinfoid;
+ int i_result;
+
+ i_tinfoid = DrCC_EditText_File_OpenTextFile("./testdata", "Makefile");
+ CU_ASSERT( 0x00 <= i_tinfoid );
+
+ i_result = DrCC_EditText_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
+ CU_ASSERT( 0x00 == i_result );
+
+ i_result = DrCC_EditText_File_CloseFile( i_tinfoid );
+ CU_ASSERT( 0x00 == i_result );
+
+ return;
+}
+
+
+/* DrCC_EditText_File_CatPathFilename **************************************/
+/*--------------------------------------------------------------------*/
+void Test_DrCC_EditText_File_CatPathFilename_test00_001(void)
+{
+ int i_result;
+ char str_temp[DRD64_MAX_PATH];
+
+ i_result = DrCC_EditText_File_CatPathFilename(
+ str_temp, "/tmp/test", "testfile.c");
+ CU_ASSERT( 0x00 == i_result );
+ CU_ASSERT_STRING_EQUAL( str_temp, "/tmp/test/testfile.c");
+
+ return;
+}
+
+/* DrCC_EditText_System_Init *************************************************/
+void Test_DrCC_EditText_File_SystemInit(void)
+{
+ int i_result;
+
+ i_result = DrCC_EditText_System_Init();
+ CU_ASSERT( 0x00 == i_result );
+
+ return;
+}
+
+/* DrCC_EditText_System_Term *************************************************/
+void Test_DrCC_EditText_File_SystemTerm(void)
+{
+ int i_result;
+
+ i_result = DrCC_EditText_System_Term();
+ CU_ASSERT( 0x00 == i_result );
+
+ return;
+}
+
+
+/*----------------------------------------------------------------------
+----------------------------------------------------------------------*/
+DRD64_TEST_DRCC_EDITTEXT_FILE_EXTERN
+int
+ Test_DrCC_EditText_File(
+ void )
+{
+ CU_pSuite pt_edittext;
+
+ pt_edittext = CU_add_suite( "DrCC_EditText_File", NULL, NULL );
+
+ CU_add_test( pt_edittext, "EditText_File_SystemInit",
+ Test_DrCC_EditText_File_SystemInit );
+
+ CU_add_test( pt_edittext, "EditText_File_CatPathFilename_test00_001",
+ Test_DrCC_EditText_File_CatPathFilename_test00_001 );
+
+ CU_add_test( pt_edittext, "EditText_File_OpenTextFile_test00_001",
+ Test_DrCC_EditText_File_OpenTextFile_test00_001 );
+ CU_add_test( pt_edittext, "EditText_File_OpenTextFile_test00_002",
+ Test_DrCC_EditText_File_OpenTextFile_test00_002 );
+ CU_add_test( pt_edittext, "EditText_File_OpenTextFile_test00_003",
+ Test_DrCC_EditText_File_OpenTextFile_test00_003 );
+ CU_add_test( pt_edittext, "EditText_File_OpenTextFile_test00_004",
+ Test_DrCC_EditText_File_OpenTextFile_test00_004 );
+
+ CU_add_test( pt_edittext, "EditText_File_SaveTextFile_test00_001",
+ Test_DrCC_EditText_File_SaveTextFile_test00_001 );
+ CU_add_test( pt_edittext, "EditText_File_SaveTextFile_test00_002",
+ Test_DrCC_EditText_File_SaveTextFile_test00_002 );
+
+ CU_add_test( pt_edittext, "EditText_File_SystemTerm",
+ Test_DrCC_EditText_File_SystemTerm );
+
+ 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_.c
+Function:
+Comment:
+----------------------------------------------------------------------*/
+
+#define DRD64_SRC_TEST_DRCC_EDITTEXT_SYSTEM
+#include"test_drcc.h"
+#include"drcc.h"
+
+
+/* DrCC_EditText_System_InitTextInfo *****************************************/
+/*--------------------------------------------------------------------*/
+void Test_DrCC_EditText_System_InitTextInfo_test00_001(void)
+{
+ int i_result;
+ Drd64_DrCC_TextInfo t_tinfo;
+
+ i_result = DrCC_EditText_System_InitTextInfo(
+ &t_tinfo,DRD64_DRCC_FILESUBTYPE_CSRC,
+ 10000, 10200, 100000 );
+ CU_ASSERT_FATAL( 0x00 == i_result );
+ CU_ASSERT( DRD64_DRCC_FILESUBTYPE_CSRC == t_tinfo.w_subtype );
+ CU_ASSERT_PTR_NOT_NULL( t_tinfo.pb_text );
+ CU_ASSERT_PTR_NOT_NULL( t_tinfo.pb_attr );
+ CU_ASSERT_PTR_NOT_NULL( t_tinfo.p_lineinfo );
+ CU_ASSERT( 100000 == t_tinfo.dw_bufsize );
+ CU_ASSERT( 100000 == t_tinfo.dw_attrsize );
+ CU_ASSERT( 10000 == t_tinfo.dw_maxline );
+ CU_ASSERT( 10200 == t_tinfo.dw_bufline );
+
+ i_result = DrCC_EditText_System_ClearTextInfo( &t_tinfo );
+ CU_ASSERT( 0x00 == i_result );
+ CU_ASSERT_PTR_NULL( t_tinfo.pb_text );
+ CU_ASSERT_PTR_NULL( t_tinfo.pb_attr );
+ CU_ASSERT_PTR_NULL( t_tinfo.p_lineinfo );
+ CU_ASSERT( 0 == t_tinfo.dw_bufsize );
+ CU_ASSERT( 0 == t_tinfo.dw_attrsize );
+ CU_ASSERT( 0 == t_tinfo.dw_maxline );
+ CU_ASSERT( 0 == t_tinfo.dw_bufline );
+
+ return;
+}
+
+/*--------------------------------------------------------------------*/
+void Test_DrCC_EditText_System_InitTextInfo_test01_001(void)
+{
+ int i_result;
+
+ i_result = DrCC_EditText_System_InitTextInfo(
+ NULL, DRD64_DRCC_FILESUBTYPE_CSRC,
+ 10000, 10200, 100000 );
+ CU_ASSERT_FATAL( 0x00 != i_result );
+
+ return;
+}
+
+/*--------------------------------------------------------------------*/
+void Test_DrCC_EditText_System_InitTextInfo_test01_002(void)
+{
+ int i_result;
+ Drd64_DrCC_TextInfo t_tinfo;
+
+ i_result = DrCC_EditText_System_InitTextInfo(
+ &t_tinfo, DRD64_DRCC_FILESUBTYPE_CSRC,
+ 10000, 10200, 100000 );
+ CU_ASSERT_FATAL( 0x00 != i_result );
+
+ return;
+}
+
+/*--------------------------------------------------------------------*/
+void Test_DrCC_EditText_System_InitTextInfo_test01_003(void)
+{
+ int i_result;
+ Drd64_DrCC_TextInfo t_tinfo;
+
+ i_result = DrCC_EditText_System_InitTextInfo(
+ &t_tinfo, DRD64_DRCC_FILESUBTYPE_CSRC,
+ 10000, 0, 100000 );
+ CU_ASSERT_FATAL( 0x00 != i_result );
+
+ return;
+}
+
+/*--------------------------------------------------------------------*/
+void Test_DrCC_EditText_System_InitTextInfo_test01_004(void)
+{
+ int i_result;
+ Drd64_DrCC_TextInfo t_tinfo;
+
+ i_result = DrCC_EditText_System_InitTextInfo(
+ &t_tinfo, DRD64_DRCC_FILESUBTYPE_CSRC,
+ 10000, 10200, 0 );
+ CU_ASSERT_FATAL( 0x00 != i_result );
+
+ return;
+}
+
+/* DrCC_EditText_System_AllocTextInfo ****************************************/
+/*--------------------------------------------------------------------*/
+void Test_DrCC_EditText_System_AllocTextInfo_test00_001(void)
+{
+ int i_cnt;
+ int i_result;
+ Drd64_DrCC_TextInfo *p_tinfo[DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO * 2 + 2];
+
+ for( i_cnt = 0; i_cnt < (DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO * 2); i_cnt++ ) {
+ p_tinfo[i_cnt] = DrCC_EditText_System_AllocTextInfo();
+ CU_ASSERT_FATAL( NULL != p_tinfo[i_cnt] );
+ CU_ASSERT( i_cnt == p_tinfo[i_cnt]->i_id );
+ }
+
+ for( i_cnt = (DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO / 2);
+ i_cnt < ((DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO / 2)
+ + DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO);
+ i_cnt++ ) {
+ i_result = DrCC_EditText_System_FreeTextInfo( p_tinfo[i_cnt] );
+ CU_ASSERT_FATAL( 0x00 == i_result );
+ p_tinfo[i_cnt] = NULL;
+ }
+
+ for( i_cnt = (DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO / 2);
+ i_cnt < ((DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO / 2)
+ + DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO);
+ i_cnt++ ) {
+ p_tinfo[i_cnt] = DrCC_EditText_System_AllocTextInfo();
+ CU_ASSERT( NULL != p_tinfo[i_cnt] );
+ }
+
+ for( i_cnt = 0; i_cnt < (DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO * 2); i_cnt++ ) {
+ i_result = DrCC_EditText_System_FreeTextInfo( p_tinfo[i_cnt] );
+ CU_ASSERT_FATAL( 0x00 == i_result );
+ p_tinfo[i_cnt] = NULL;
+ }
+
+ CU_ASSERT( 0 == DrCC_EditText_System_GetMaxNum_TextInfo() );
+
+ return;
+}
+
+
+/* DrCC_EditText_System_AllocTextInfo ****************************************/
+/*--------------------------------------------------------------------*/
+void Test_DrCC_EditText_System_FreeTextInfo_test00_001(void)
+{
+ CU_ASSERT( 0x00 != DrCC_EditText_System_FreeTextInfo( NULL ) );
+ return;
+}
+
+
+/* DrCC_EditText_System_Init *************************************************/
+/*--------------------------------------------------------------------*/
+void Test_DrCC_EditText_System_Init_test00_001(void)
+{
+ int i_result;
+
+ i_result = DrCC_EditText_System_Init();
+ CU_ASSERT( 0x00 == i_result );
+
+ return;
+}
+
+/*--------------------------------------------------------------------*/
+void Test_DrCC_EditText_System_Init_test00_002(void)
+{
+ int i_result;
+
+ i_result = DrCC_EditText_System_Init();
+ CU_ASSERT( 0x00 == i_result );
+
+ return;
+}
+
+
+/* DrCC_EditText_System_Term *************************************************/
+/*--------------------------------------------------------------------*/
+void Test_DrCC_EditText_System_Term_test00_001(void)
+{
+ int i_result;
+
+ i_result = DrCC_EditText_System_Term();
+ CU_ASSERT( 0x00 == i_result );
+
+ return;
+}
+
+/*--------------------------------------------------------------------*/
+void Test_DrCC_EditText_System_Term_test00_002(void)
+{
+ int i_result;
+
+ i_result = DrCC_EditText_System_Term();
+ CU_ASSERT( 0x00 == i_result );
+
+ return;
+}
+
+
+/*----------------------------------------------------------------------
+----------------------------------------------------------------------*/
+DRD64_TEST_DRCC_EDITTEXT_SYSTEM_EXTERN
+int
+ Test_DrCC_EditText_System(
+ void )
+{
+ CU_pSuite pt_edittext;
+
+ pt_edittext = CU_add_suite( "DrCC_EditText_System", NULL, NULL );
+
+ CU_add_test( pt_edittext, "EditText_System_Init_test00_001",
+ Test_DrCC_EditText_System_Init_test00_001 );
+ CU_add_test( pt_edittext, "EditText_System_Term_test00_001",
+ Test_DrCC_EditText_System_Term_test00_001 );
+
+ CU_add_test( pt_edittext, "EditText_System_Init_test00_002",
+ Test_DrCC_EditText_System_Init_test00_002 );
+
+ CU_add_test( pt_edittext, "EditText_System_AllocTextInfo_test00_001",
+ Test_DrCC_EditText_System_AllocTextInfo_test00_001 );
+ CU_add_test( pt_edittext, "EditText_System_FreeTextInfo_test00_001",
+ Test_DrCC_EditText_System_FreeTextInfo_test00_001 );
+
+ /* Test InitTextInfo() & ClearTextInfo() ---*/
+ CU_add_test( pt_edittext, "EditText_System_InitTextInfo_test00_001",
+ Test_DrCC_EditText_System_InitTextInfo_test00_001 );
+ CU_add_test( pt_edittext, "EditText_System_InitTextInfo_test01_001",
+ Test_DrCC_EditText_System_InitTextInfo_test00_001 );
+ CU_add_test( pt_edittext, "EditText_System_InitTextInfo_test01_002",
+ Test_DrCC_EditText_System_InitTextInfo_test00_001 );
+ CU_add_test( pt_edittext, "EditText_System_InitTextInfo_test01_003",
+ Test_DrCC_EditText_System_InitTextInfo_test00_001 );
+ CU_add_test( pt_edittext, "EditText_System_InitTextInfo_test01_004",
+ Test_DrCC_EditText_System_InitTextInfo_test00_001 );
+
+ CU_add_test( pt_edittext, "EditText_System_Term_test00_002",
+ Test_DrCC_EditText_System_Term_test00_002 );
+
+ return 0x00;
+}
+
+
+/* EOF of drd64_.c ----------------------------------- */
CU_initialize_registry();
Test_DrCC_FileType();
- Test_DrCC_EditText();
+ Test_DrCC_EditText_System();
+ Test_DrCC_EditText_File();
CU_basic_run_tests();
CU_cleanup_registry();