mirror of
https://github.com/ip7z/7zip.git
synced 2025-12-06 07:12:00 +01:00
39 lines
1.2 KiB
C
39 lines
1.2 KiB
C
// Common/StringToInt.h
|
|
|
|
#ifndef ZIP7_INC_COMMON_STRING_TO_INT_H
|
|
#define ZIP7_INC_COMMON_STRING_TO_INT_H
|
|
|
|
#include "MyTypes.h"
|
|
|
|
UInt32 ConvertStringToUInt32(const char *s, const char **end) throw();
|
|
UInt64 ConvertStringToUInt64(const char *s, const char **end) throw();
|
|
UInt32 ConvertStringToUInt32(const wchar_t *s, const wchar_t **end) throw();
|
|
UInt64 ConvertStringToUInt64(const wchar_t *s, const wchar_t **end) throw();
|
|
|
|
// Int32 ConvertStringToInt32(const char *s, const char **end) throw();
|
|
Int32 ConvertStringToInt32(const wchar_t *s, const wchar_t **end) throw();
|
|
|
|
UInt32 ConvertOctStringToUInt32(const char *s, const char **end) throw();
|
|
UInt64 ConvertOctStringToUInt64(const char *s, const char **end) throw();
|
|
|
|
UInt32 ConvertHexStringToUInt32(const char *s, const char **end) throw();
|
|
UInt64 ConvertHexStringToUInt64(const char *s, const char **end) throw();
|
|
|
|
#define Z7_PARSE_HEX_DIGIT(c, err_op) \
|
|
{ c -= '0'; \
|
|
if (c > 9) { \
|
|
c -= 'A' - '0'; \
|
|
c &= ~0x20u; \
|
|
if (c > 5) { err_op } \
|
|
c += 10; \
|
|
} \
|
|
}
|
|
|
|
const char *FindNonHexChar(const char *s) throw();
|
|
|
|
// in: (dest != NULL)
|
|
// returns: pointer in dest array after last written byte
|
|
Byte *ParseHexString(const char *s, Byte *dest) throw();
|
|
|
|
#endif
|