#include "dkcStdio.h"
dkcStdio.cのインクルード依存関係図
関数 | |
int WINAPI | dkc_memcpy (void *dest, size_t size1, const void *src, size_t size2) |
int WINAPI | dkc_memmove (void *dest, size_t size1, const void *src, size_t size2) |
int WINAPI | dkc_strcpy (char *dest, size_t size1, const char *src, size_t srclen) |
int WINAPI | dkc_strcpy_amap (char *dest, size_t size1, const char *src, size_t srclen) |
int WINAPI | dkc_strcpy_amap2 (char *dest, size_t size1, const char *src) |
dkutil::dkstrcpy_amap2 | |
int WINAPI | dkc_strcat (char *dest, size_t destsize, size_t destlen, const char *src, size_t srclen) |
dkutil::dkstrcat | |
int WINAPI | dkc_strcat2 (char *dest, size_t destsize, const char *src) |
dkutil::dkstrcat2 | |
int WINAPI | dkc_strcat_amap (char *dest, size_t destsize, size_t destlen, const char *src, size_t srclen) |
dkutil::dkstrcat_amap | |
int WINAPI | dkc_strcat_amap2 (char *dest, size_t destsize, const char *src) |
dkutil::dkstrcat_amap2 | |
int WINAPI | dkc_memcmp (const void *buf1, size_t buf1PermitSize, const void *buf2, size_t count) |
dkutil::dkmemcmp | |
int WINAPI | dkc_strcmp (const char *b1, size_t b1size, const char *b2, size_t b2size) |
size_t | dkc_beam (int num) |
int | dkc_stream_swap (char *memory, size_t size, size_t point) |
一つのメモリ領域をpointを基準に入れ替える。 | |
void | dkc_memswap (void *va, void *vb, size_t size) |
dkutil::memswap | |
void | dkc_memreverse (void *array, size_t num, size_t size) |
dkutil::memreverse | |
void | dkc_memrrotate (void *array, size_t shift, size_t num, size_t size) |
dkutil::memrrotate | |
void | dkc_memlrotate (void *array, size_t shift, size_t num, size_t size) |
dkutil::memlrotate |
|
dkcStdio.c の 119 行で定義されています。
00119 { 00120 size_t b = 0 ; 00121 int i=0; 00122 for(i = 10 ; num >= i ; i *= 10 ){ 00123 b ++ ; 00124 } 00125 return b; 00126 } |
|
dkutil::dkmemcmp
dkcStdio.c の 91 行で定義されています。 参照先 edk_FAILED, edk_LogicError, と edk_SUCCEEDED. 参照元 dkcFileWithSignatureCheckCheat().
00093 { 00094 if(buf1PermitSize < count)return edk_LogicError; 00095 if(0 !=memcmp(buf1,buf2,count))return edk_FAILED; 00096 return edk_SUCCEEDED; 00097 } |
|
dkcStdio.c の 14 行で定義されています。 参照先 edk_FAILED, と edk_SUCCEEDED. 参照元 dkcAllocCircularMemoryStreamCopy(), dkcBufferGet(), dkcBufferSet(), dkcGetSingleListBuffer(), dkcMemoryStreamRead(), dkcMemoryStreamWrite(), dkcNewSingleList(), dkcSingleListGetBuffer(), dkcSingleListSetBuffer(), と dkcStringGetBuffer().
00014 { 00015 if(size1 < size2) return edk_FAILED; 00016 memcpy(dest,src,size2); 00017 return edk_SUCCEEDED; 00018 } |
|
dkutil::memlrotate
dkcStdio.c の 211 行で定義されています。 参照先 dkc_memreverse().
00212 { 00213 dkc_memreverse( array, shift, size ); // 012345678 -> 210345678 00214 dkc_memreverse( (char *)array+(size*shift), num-shift, size ); // 210345678 -> 210876543 00215 dkc_memreverse( array, num, size ); // 210876543 -> 345678012 00216 }//memlrotate |
|
dkcStdio.c の 20 行で定義されています。 参照先 edk_FAILED, と edk_SUCCEEDED.
00021 { 00022 if(size1 < size2){ 00023 return edk_FAILED; 00024 } 00025 memmove(dest,src,size2); 00026 return edk_SUCCEEDED; 00027 } |
|
dkutil::memreverse
dkcStdio.c の 187 行で定義されています。 参照先 dkc_memswap(). 参照元 dkc_memlrotate(), と dkc_memrrotate().
00188 { 00189 char *l; 00190 char *r; 00191 00192 l = (char *)array; 00193 r = (char *)array + ((num-1) * size); 00194 for( ; l < r; l = l+size, r = r-size ) 00195 dkc_memswap( l, r, size ); 00196 }//memreverse |
|
dkutil::memrrotate
dkcStdio.c の 201 行で定義されています。 参照先 dkc_memreverse().
00202 { 00203 dkc_memreverse( array, num, size ); // 012345678 -> 876543210 00204 dkc_memreverse( array, shift, size ); // 876543210 -> 678543210 00205 dkc_memreverse( (char *)array+(size*shift), num-shift, size ); // 678543210 -> 678012345 00206 }//memrrotate |
|
dkutil::memswap
dkcStdio.c の 170 行で定義されています。 参照元 dkc_memreverse().
00171 { 00172 char *ca; 00173 char *cb; 00174 char cTmp; 00175 for( ca = (char *)va, cb = (char *)vb; size > 0; size--, ca++, cb++ ) 00176 { 00177 cTmp = *ca; 00178 *ca = *cb; 00179 *cb = cTmp; 00180 } 00181 }//memswap |
|
dkutil::dkstrcat
dkcStdio.c の 58 行で定義されています。 参照先 edk_FAILED, と edk_SUCCEEDED. 参照元 dkc_strcat2().
00060 { 00061 //destlen + srclen + NULL文字 00062 if(destsize < destlen + srclen + 1) return edk_FAILED; 00063 strncat(dest,src,srclen); 00064 return edk_SUCCEEDED; 00065 } |
|
dkutil::dkstrcat2
dkcStdio.c の 67 行で定義されています。 参照先 dkc_strcat().
00067 { 00068 return dkc_strcat(dest,destsize,strlen(dest),src,strlen(src)); 00069 } |
|
dkutil::dkstrcat_amap
dkcStdio.c の 71 行で定義されています。 参照先 edk_Not_Satisfactory, と edk_SUCCEEDED. 参照元 dkc_strcat_amap2(), と dkcDirectoryConcatenate().
00073 { 00074 //destlen + srclen + NULL文字 00075 int result = edk_SUCCEEDED; 00076 size_t lsize = destlen + srclen + 1; 00077 if(destsize < lsize) 00078 {//オーバーしてたら・・・ 00079 srclen = lsize - destsize - 1; 00080 result = edk_Not_Satisfactory; 00081 } 00082 strncat(dest,src,srclen); 00083 //dest[destlen + srclen - 1] = '\0'; 00084 return result; 00085 } |
|
dkutil::dkstrcat_amap2
dkcStdio.c の 87 行で定義されています。 参照先 dkc_strcat_amap().
00087 { 00088 return dkc_strcat_amap(dest,destsize,strlen(dest),src,strlen(src)); 00089 } |
|
dkcStdio.c の 99 行で定義されています。 参照先 edk_FAILED, edk_LogicError, と edk_SUCCEEDED.
00100 { 00101 int result = edk_SUCCEEDED; 00102 size_t i = 0; 00103 //検索する文字列が多いとおかしいのでエラー 00104 if(b1size < b2size) return edk_LogicError; 00105 //if(b1size < b2size) return edk_LogicError; 00106 00107 //とりあえずマッチするか確かめる。 00108 for(i=0;i<b2size;i++) 00109 { 00110 if(b1[i] != b2[i]) 00111 { 00112 result = edk_FAILED; 00113 break; 00114 } 00115 } 00116 return result; 00117 } |
|
dkcStdio.c の 29 行で定義されています。 参照先 edk_FAILED, と edk_SUCCEEDED. 参照元 dkcFindFileGetFileName(), dkcGetCurrentDirectory(), dkcPathStringDevideBegin_Logic(), dkcPathStringDevideNext_Logic(), dkcPathStringGetDirectory(), dkcPathStringGetDrive(), dkcPathStringGetFileExtension(), dkcPathStringGetFileName(), dkcSHA1DigestStr(), dkcSHA256DigestStr(), dkcSHA384DigestStr(), と dkcSHA512DigestStr().
00029 { 00030 if(size1 <= srclen) return edk_FAILED; 00031 strncpy(dest,src,srclen); 00032 //if(dest[srclen] != '\0') return edk_FAILED; 00033 dest[srclen] = '\0'; 00034 return edk_SUCCEEDED; 00035 } |
|
dkcStdio.c の 38 行で定義されています。 参照先 edk_FAILED, edk_Not_Satisfactory, と edk_SUCCEEDED. 参照元 dkc_strcpy_amap2().
00038 { 00039 # ifndef NDEBUG 00040 if(!(0 == size1 && 0 == srclen)){ 00041 return edk_FAILED; 00042 } 00043 # endif 00044 if(size1 <= srclen){//ここは<=か!? 00045 strncpy(dest,src,size1); 00046 dest[size1 - 1] = '\0'; 00047 return edk_Not_Satisfactory; 00048 }else{ 00049 strncpy(dest,src,srclen); 00050 dest[srclen] = '\0'; 00051 return edk_SUCCEEDED; 00052 } 00053 } |
|
dkutil::dkstrcpy_amap2
dkcStdio.c の 54 行で定義されています。 参照先 dkc_strcpy_amap().
00054 { 00055 return dkc_strcpy_amap(dest,size1,src,strlen(src)); 00056 } |
|
一つのメモリ領域をpointを基準に入れ替える。
dkcStdio.c の 129 行で定義されています。 参照先 BOOL, edk_FAILED, edk_OutOfMemory, edk_SUCCEEDED, FALSE, と TRUE. 参照元 dkcStringErase(), と dkcStringInsert().
00130 { 00131 char *p; 00132 size_t big; 00133 size_t small__; 00134 BOOL isLeft = FALSE;//左の方がでかいとTRUE 00135 if(size <= 1){ 00136 return edk_FAILED;//スワップのしようが無い 00137 } 00138 00139 00140 if(size - point < point){ 00141 big = point;//left 00142 small__ = size - point; 00143 isLeft = TRUE; 00144 }else{ 00145 big = size - point;//right 00146 small__ = point; 00147 } 00148 00149 p = (char *)malloc(big); 00150 if(!p) return edk_OutOfMemory; 00151 00152 if(isLeft) 00153 { 00154 memcpy(p,memory,big); 00155 memcpy(memory,&memory[big],small__); 00156 memcpy(&memory[small__],p,big); 00157 }else{ 00158 memcpy(p,&memory[small__],big); 00159 memcpy(&memory[big],memory,small__); 00160 memcpy(memory,p,big); 00161 } 00162 00163 free(p); 00164 return edk_SUCCEEDED; 00165 } |