#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 }
|
1.3.6