3#ifndef __NUITKA_SAFE_STRING_OPS_H__
4#define __NUITKA_SAFE_STRING_OPS_H__
12extern void copyStringSafe(
char *buffer,
char const *source,
size_t buffer_size);
13extern void copyStringSafeN(
char *buffer,
char const *source,
size_t n,
size_t buffer_size);
14extern void copyStringSafeW(
wchar_t *buffer,
wchar_t const *source,
size_t buffer_size);
17extern void appendCharSafe(
char *target,
char c,
size_t buffer_size);
18extern void appendStringSafe(
char *target,
char const *source,
size_t buffer_size);
21extern void appendCharSafeW(
wchar_t *target,
char c,
size_t buffer_size);
22extern void appendWCharSafeW(
wchar_t *target,
wchar_t c,
size_t buffer_size);
23extern void appendStringSafeW(
wchar_t *target,
char const *source,
size_t buffer_size);
24extern void appendWStringSafeW(
wchar_t *target,
wchar_t const *source,
size_t buffer_size);
28void checkWStringNumber(
wchar_t const *value);
29void checkStringNumber(
char const *value);
33typedef DWORD error_code_t;
34#define ERROR_CODE_FORMAT_STR "%ld"
35static inline error_code_t getCurrentErrorCode(
void) {
return GetLastError(); }
37typedef int error_code_t;
38#define ERROR_CODE_FORMAT_STR "%d"
39static inline error_code_t getCurrentErrorCode(
void) {
return errno; }
41extern void printOSErrorMessage(
char const *message, error_code_t error_code);