00001 00009 #include "dkcRegex.h" 00010 00011 00012 00013 DKC_REPLACE *WINAPI dkcAllocReplace(){ 00014 00015 DKC_REPLACE *p = dkcAllocate(sizeof(DKC_REPLACE)); 00016 if(NULL==p){ 00017 return NULL; 00018 } 00019 p->mStream = dkcAllocStream(edkcStreamInitMemory,NULL,5012,NULL,NULL); 00020 if(NULL==p->mStream){ 00021 goto Error; 00022 } 00023 return p; 00024 Error: 00025 dkcFreeStream(&(p->mStream)); 00026 dkcFree((void **)&p); 00027 return NULL; 00028 } 00029 00030 00031 int WINAPI dkcFreeReplace(DKC_REPLACE **pp){ 00032 if(NULL==pp){ 00033 return edk_ArgumentException; 00034 } 00035 dkcFreeStream(&(*pp)->mStream); 00036 return dkcFree((void **)pp); 00037 } 00038 00039 00040 int WINAPI dkcReplaceRun( const BYTE *src,size_t srcsize, 00041 const BYTE *target_data,size_t target_data_size, 00042 const BYTE *replace_data,size_t replace_data_size 00043 ){ 00044 return edk_SUCCEEDED; 00045 } 00046 00047 00048 /* 00049 @param 00050 @note 00051 target_data_size < replace_data_sizeの時はエラー 00052 */ 00053 /* 00054 DKC_EXTERN int WINAPI dkcDataReplaceStuff(BYTE *dest,size_t destsize, 00055 const BYTE *src,size_t srcsize, 00056 const BYTE *target_data,size_t target_data_size, 00057 const BYTE *replace_data,size_t replace_data_size) 00058 { 00059 00060 size_t i; 00061 00062 if(target_data_size < replace_data_size){ 00063 return edk_ArgumentException; 00064 } 00065 00066 00067 00068 //まずは置換場所を探す 00069 for(i=0;i<srcsize;i++){ 00070 memcmp(&src[i], 00071 00072 00073 00074 00075 00076 } 00077 */ 00078