Annotation of hatari/src/cpu/uae/string.h, revision 1.1.1.1

1.1       root        1: #ifndef UAE_STRING_H
                      2: #define UAE_STRING_H
                      3: 
                      4: #ifdef HAVE_CONFIG_H
                      5: #include "config.h"
                      6: #endif
                      7: #include "uae/types.h"
                      8: #include <string.h>
                      9: 
                     10: #ifdef _WIN32
                     11: /* Make sure the real _tcs* functions are already declared before we
                     12:  * re-define them below. */
                     13: #include <tchar.h>
                     14: #include <wchar.h>
                     15: #include <stdlib.h>
                     16: #endif
                     17: 
                     18: #ifdef _WIN32
                     19: /* Using the real _tcs* functions */
                     20: #else
                     21: #define _istdigit isdigit
                     22: #define _istspace isspace
                     23: #define _istupper isupper
                     24: #define _sntprintf snprintf
                     25: #define _stprintf sprintf
                     26: #define _strtoui64 strtoll
                     27: #define _tcscat strcat
                     28: #define _tcschr strchr
                     29: #define _tcscmp strcmp
                     30: #define _tcscpy strcpy
                     31: #define _tcscspn strcspn
                     32: #define _tcsdup strdup
                     33: #define _tcsftime strftime
                     34: #define _tcsftime strftime
                     35: #define _tcsicmp strcasecmp
                     36: #define _tcslen strlen
                     37: #define _tcsncat strncat
                     38: #define _tcsncmp strncmp
                     39: #define _tcsncpy strncpy
                     40: #define _tcsnicmp strncasecmp
                     41: #define _tcsrchr strrchr
                     42: #define _tcsspn strspn
                     43: #define _tcsstr strstr
                     44: #define _tcstod strtod
                     45: #define _tcstok strtok
                     46: #define _tcstol strtol
                     47: #define _totlower tolower
                     48: #define _totupper toupper
                     49: #define _tprintf printf
                     50: #define _tstof atof
                     51: #define _tstoi64 atoll
                     52: #define _tstoi atoi
                     53: #define _tstol atol
                     54: #define _vsnprintf vsnprintf
                     55: #define _vsntprintf vsnprintf
                     56: #endif
                     57: 
                     58: static inline size_t uae_tcslcpy(TCHAR *dst, const TCHAR *src, size_t size)
                     59: {
                     60:        if (size == 0) {
                     61:                return 0;
                     62:        }
                     63:        size_t src_len = _tcslen(src);
                     64:        size_t cpy_len = src_len;
                     65:        if (cpy_len >= size) {
                     66:                cpy_len = size - 1;
                     67:        }
                     68:        memcpy(dst, src, cpy_len * sizeof(TCHAR));
                     69:        dst[cpy_len] = _T('\0');
                     70:        return src_len;
                     71: }
                     72: 
                     73: static inline size_t uae_strlcpy(char *dst, const char *src, size_t size)
                     74: {
                     75:        if (size == 0) {
                     76:                return 0;
                     77:        }
                     78:        size_t src_len = strlen(src);
                     79:        size_t cpy_len = src_len;
                     80:        if (cpy_len >= size) {
                     81:                cpy_len = size - 1;
                     82:        }
                     83:        memcpy(dst, src, cpy_len);
                     84:        dst[cpy_len] = '\0';
                     85:        return src_len;
                     86: }
                     87: 
                     88: #endif /* UAE_STRING_H */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.