📄 stdtp_8h-source.html
字号:
00279 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00280 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00281 <span class="preprocessor"></span>00282 <span class="preprocessor">#ifdef _WIN32</span>00283 <span class="preprocessor"></span><span class="keyword">typedef</span> HANDLE descriptor_t; 00284 <span class="preprocessor">#else</span>00285 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">int</span> descriptor_t; 00286 <span class="preprocessor">#endif</span>00287 <span class="preprocessor"></span>00288 <span class="preprocessor">#if !defined(_fastcall) && (!defined(_WIN32) || defined(__IBMCPP__) || defined(__MINGW32__))</span>00289 <span class="preprocessor"></span><span class="preprocessor">#define _fastcall</span>00290 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00291 <span class="preprocessor"></span>00292 <span class="preprocessor">#if defined(_WIN32) || !defined(NO_PTHREADS)</span>00293 <span class="preprocessor"></span><span class="preprocessor">#define THREADS_SUPPORTED 1</span>00294 <span class="preprocessor"></span><span class="preprocessor">#else</span>00295 <span class="preprocessor"></span><span class="preprocessor">#define THREADS_SUPPORTED 0</span>00296 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00297 <span class="preprocessor"></span>00298 <span class="preprocessor">#define itemsof(array) (sizeof(array)/sizeof*(array))</span>00299 <span class="preprocessor"></span>00300 00301 <span class="keyword">extern</span> FASTDB_DLL_ENTRY byte* dbMalloc(size_t size);00302 <span class="keyword">extern</span> FASTDB_DLL_ENTRY <span class="keywordtype">void</span> dbFree(<span class="keywordtype">void</span>* ptr);00303 00304 <span class="preprocessor">#if defined(FUZZY_CHECKPOINT) && !defined(NO_MMAP)</span>00305 <span class="preprocessor"></span><span class="preprocessor">#define NO_MMAP 1</span>00306 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00307 <span class="preprocessor"></span>00308 <span class="preprocessor">#if !defined(USE_POSIX_MMAP) && defined(DISKLESS_CONFIGURATION)</span>00309 <span class="preprocessor"></span><span class="comment">// To enable sharing of database in diskless configuration we have to use</span>00310 <span class="comment">// shmap instead of mmap, which anonymous region is private to process.</span>00311 <span class="preprocessor">#define USE_POSIX_MMAP 0</span>00312 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00313 <span class="preprocessor"></span>00314 <span class="preprocessor">#if defined(USE_POSIX_MMAP) && !USE_POSIX_MMAP</span>00315 <span class="preprocessor"></span><span class="comment">// allocate space for the database using Sys-V shmat</span>00316 <span class="preprocessor">#define USE_SYSV_SHARED_MEMORY 1</span>00317 <span class="preprocessor"></span><span class="preprocessor">#if !defined(NO_MMAP) && !defined(DISKLESS_CONFIGURATION)</span>00318 <span class="preprocessor"></span><span class="preprocessor">#define NO_MMAP 1</span>00319 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00320 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00321 <span class="preprocessor"></span>00322 <span class="preprocessor">#if !defined(_WIN32)</span>00323 <span class="preprocessor"></span><span class="preprocessor">#define NO_STRICMP 1</span>00324 <span class="preprocessor"></span><span class="preprocessor">#define NO_STRICOLL 1</span>00325 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00326 <span class="preprocessor"></span>00327 00328 <span class="preprocessor">#if defined(_WINCE) && defined(USE_LOCALE_SETTINGS)</span>00329 <span class="preprocessor"></span><span class="preprocessor">#undef USE_LOCALE_SETTINGS</span>00330 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00331 <span class="preprocessor"></span>00332 <span class="preprocessor">#if defined(IGNORE_CASE) && defined(NO_STRICMP)</span>00333 <span class="preprocessor"></span><span class="keyword">inline</span> <span class="keywordtype">int</span> stricmp(<span class="keyword">const</span> <span class="keywordtype">char</span>* p, <span class="keyword">const</span> <span class="keywordtype">char</span>* q)00334 {00335 <span class="keywordflow">while</span> (toupper(*(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)p) == toupper(*(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)q)) { 00336 <span class="keywordflow">if</span> (*p == <span class="charliteral">'\0'</span>) { 00337 <span class="keywordflow">return</span> 0;00338 }00339 p += 1;00340 q += 1;00341 }00342 <span class="keywordflow">return</span> toupper(*(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)p) - toupper(*(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)q);00343 }00344 <span class="preprocessor">#else</span>00345 <span class="preprocessor"></span><span class="preprocessor">#ifdef _WIN32</span>00346 <span class="preprocessor"></span><span class="preprocessor">#define stricoll(x,y) _stricoll(x,y)</span>00347 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00348 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00349 <span class="preprocessor"></span>00350 <span class="preprocessor">#ifndef STRINCMP_DEFINED</span>00351 <span class="preprocessor"></span><span class="keyword">inline</span> <span class="keywordtype">int</span> strincmp(<span class="keyword">const</span> <span class="keywordtype">char</span>* p, <span class="keyword">const</span> <span class="keywordtype">char</span>* q, size_t n)00352 {00353 <span class="keywordflow">while</span> (n > 0) { 00354 <span class="keywordtype">int</span> diff = toupper(*(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)p) - toupper(*(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)q);00355 <span class="keywordflow">if</span> (diff != 0) { 00356 <span class="keywordflow">return</span> diff;00357 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*p == <span class="charliteral">'\0'</span>) { 00358 <span class="keywordflow">return</span> 0;00359 }00360 p += 1;00361 q += 1;00362 n -= 1; 00363 }00364 <span class="keywordflow">return</span> 0;00365 }00366 <span class="preprocessor">#endif</span>00367 <span class="preprocessor"></span>00368 <span class="preprocessor">#if defined(IGNORE_CASE) && defined(USE_LOCALE_SETTINGS) && defined(NO_STRICOLL) </span>00369 <span class="preprocessor"></span><span class="keyword">inline</span> <span class="keywordtype">int</span> stricoll(<span class="keyword">const</span> <span class="keywordtype">char</span>* p, <span class="keyword">const</span> <span class="keywordtype">char</span>* q)00370 {00371 <span class="keywordtype">char</span> p_buf[256];00372 <span class="keywordtype">char</span> q_buf[256];00373 size_t p_len = strlen(p);00374 size_t q_len = strlen(q);00375 <span class="keywordtype">char</span>* p_dst = p_buf; 00376 <span class="keywordtype">char</span>* q_dst = q_buf; 00377 <span class="keywordtype">int</span> i;00378 <span class="keywordflow">if</span> (p_len >= <span class="keyword">sizeof</span>(p_buf)) { 00379 p_dst = <span class="keyword">new</span> <span class="keywordtype">char</span>[p_len+1];00380 }00381 <span class="keywordflow">if</span> (q_len >= <span class="keyword">sizeof</span>(q_buf)) { 00382 q_dst = <span class="keyword">new</span> <span class="keywordtype">char</span>[q_len+1];00383 }00384 <span class="keywordflow">for</span> (i = 0; p[i] != <span class="charliteral">'\0'</span>; i++) { 00385 p_dst[i] = toupper(p[i] & 0xFF);00386 }00387 p_dst[i] = <span class="charliteral">'\0'</span>;00388 00389 <span class="keywordflow">for</span> (i = 0; q[i] != <span class="charliteral">'\0'</span>; i++) { 00390 q_dst[i] = toupper(q[i] & 0xFF);00391 }00392 q_dst[i] = <span class="charliteral">'\0'</span>;00393 00394 <span class="keywordtype">int</span> diff = strcoll(p_dst, q_dst);00395 <span class="keywordflow">if</span> (p_dst != p_buf) { 00396 <span class="keyword">delete</span>[] p_dst;00397 }00398 <span class="keywordflow">if</span> (q_dst != q_buf) { 00399 <span class="keyword">delete</span>[] q_dst;00400 }00401 <span class="keywordflow">return</span> diff;00402 }00403 <span class="preprocessor">#endif</span>00404 <span class="preprocessor"></span>00405 <span class="preprocessor">#ifndef __IBMCPP__</span>00406 <span class="preprocessor"></span>END_FASTDB_NAMESPACE00407 <span class="preprocessor">#endif</span>00408 <span class="preprocessor"></span>00409 <span class="preprocessor">#endif</span>00410 <span class="preprocessor"></span>00411 00412 00413 </pre></div><hr><address style="align: right;"><small>Generated on Mon Oct 23 13:23:58 2006 for FastDB by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.18 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -