aboutsummaryrefslogtreecommitdiffstats
path: root/tool/PGListUtil/src/common/common.h
blob: 60530d5b3fffcbf19d2fdb6dab053787dd939a79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#ifndef COMMON_H
#define COMMON_H

#ifdef _MSC_VER

typedef unsigned __int8 uchar;
typedef unsigned __int32 uint;
typedef unsigned __int64 ulong;

# else

#include <boost/cstdint.hpp>

typedef uint8_t uchar;
typedef uint32_t uint;
typedef uint64_t ulong;

#endif

namespace pglu {

#define PGLU_LENGTH_FILELINE 1024

inline uint ParseDigit3(const char *begin, const char *end) {
	switch(end - begin) {
	case 3:
		return ((*begin & 0xF) * 100) + ((*(begin + 1) & 0xF) * 10) + (*(begin + 2) & 0xF);
	case 2:
		return ((*begin & 0xF) * 10) + (*(begin + 1) & 0xF);
	case 1:
		return (*begin & 0xF);
	default:
		return 256;
	}
}

#ifdef __MINGW32__

inline void ZeroString(char *str) {
	while(*str != '\0')
		*(str++) = '\0';
}

#endif

} // namespace pglu

#endif // COMMON_H