added init and deinit functions and windows unicode fixes
This commit is contained in:
parent
668c704a16
commit
d5a89b8ce1
@ -56,6 +56,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <locale.h>
|
||||||
|
|
||||||
#include "os_calls.h"
|
#include "os_calls.h"
|
||||||
#include "arch.h"
|
#include "arch.h"
|
||||||
@ -74,6 +75,27 @@ extern char** environ;
|
|||||||
#define INADDR_NONE ((unsigned long)-1)
|
#define INADDR_NONE ((unsigned long)-1)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
void APP_CC
|
||||||
|
g_init(void)
|
||||||
|
{
|
||||||
|
#if defined(_WIN32)
|
||||||
|
WSADATA wsadata;
|
||||||
|
|
||||||
|
WSAStartup(2, &wsadata);
|
||||||
|
#endif
|
||||||
|
setlocale(LC_CTYPE, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
void APP_CC
|
||||||
|
g_deinit(void)
|
||||||
|
{
|
||||||
|
#if defined(_WIN32)
|
||||||
|
WSACleanup();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* allocate memory, returns a pointer to it, size bytes are allocated,
|
/* allocate memory, returns a pointer to it, size bytes are allocated,
|
||||||
if zero is non zero, each byte will be set to zero */
|
if zero is non zero, each byte will be set to zero */
|
||||||
@ -641,9 +663,9 @@ int APP_CC
|
|||||||
g_file_open(const char* file_name)
|
g_file_open(const char* file_name)
|
||||||
{
|
{
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
return (int)CreateFile(file_name, GENERIC_READ | GENERIC_WRITE,
|
return (int)CreateFileA(file_name, GENERIC_READ | GENERIC_WRITE,
|
||||||
FILE_SHARE_READ | FILE_SHARE_WRITE,
|
FILE_SHARE_READ | FILE_SHARE_WRITE,
|
||||||
0, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
|
0, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
|
||||||
#else
|
#else
|
||||||
int rv;
|
int rv;
|
||||||
|
|
||||||
@ -818,7 +840,7 @@ char* APP_CC
|
|||||||
g_get_current_dir(char* dirname, int maxlen)
|
g_get_current_dir(char* dirname, int maxlen)
|
||||||
{
|
{
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
GetCurrentDirectory(maxlen, dirname);
|
GetCurrentDirectoryA(maxlen, dirname);
|
||||||
return 0;
|
return 0;
|
||||||
#else
|
#else
|
||||||
getcwd(dirname, maxlen);
|
getcwd(dirname, maxlen);
|
||||||
@ -832,7 +854,7 @@ int APP_CC
|
|||||||
g_set_current_dir(char* dirname)
|
g_set_current_dir(char* dirname)
|
||||||
{
|
{
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
if (SetCurrentDirectory(dirname))
|
if (SetCurrentDirectoryA(dirname))
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -885,7 +907,7 @@ int APP_CC
|
|||||||
g_create_dir(const char* dirname)
|
g_create_dir(const char* dirname)
|
||||||
{
|
{
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
return CreateDirectory(dirname, 0); // test this
|
return CreateDirectoryA(dirname, 0); // test this
|
||||||
#else
|
#else
|
||||||
return mkdir(dirname, (mode_t)-1) == 0;
|
return mkdir(dirname, (mode_t)-1) == 0;
|
||||||
#endif
|
#endif
|
||||||
@ -897,7 +919,7 @@ int APP_CC
|
|||||||
g_remove_dir(const char* dirname)
|
g_remove_dir(const char* dirname)
|
||||||
{
|
{
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
return RemoveDirectory(dirname); // test this
|
return RemoveDirectoryA(dirname); // test this
|
||||||
#else
|
#else
|
||||||
return rmdir(dirname) == 0;
|
return rmdir(dirname) == 0;
|
||||||
#endif
|
#endif
|
||||||
@ -909,7 +931,7 @@ int APP_CC
|
|||||||
g_file_delete(const char* filename)
|
g_file_delete(const char* filename)
|
||||||
{
|
{
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
return DeleteFile(filename);
|
return DeleteFileA(filename);
|
||||||
#else
|
#else
|
||||||
return unlink(filename) != -1;
|
return unlink(filename) != -1;
|
||||||
#endif
|
#endif
|
||||||
@ -1057,7 +1079,7 @@ long APP_CC
|
|||||||
g_load_library(char* in)
|
g_load_library(char* in)
|
||||||
{
|
{
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
return (long)LoadLibrary(in);
|
return (long)LoadLibraryA(in);
|
||||||
#else
|
#else
|
||||||
return (long)dlopen(in, RTLD_LOCAL | RTLD_LAZY);
|
return (long)dlopen(in, RTLD_LOCAL | RTLD_LAZY);
|
||||||
#endif
|
#endif
|
||||||
|
@ -27,6 +27,10 @@
|
|||||||
|
|
||||||
#include "arch.h"
|
#include "arch.h"
|
||||||
|
|
||||||
|
void APP_CC
|
||||||
|
g_init(void);
|
||||||
|
void APP_CC
|
||||||
|
g_deinit(void);
|
||||||
void* APP_CC
|
void* APP_CC
|
||||||
g_malloc(int size, int zero);
|
g_malloc(int size, int zero);
|
||||||
void APP_CC
|
void APP_CC
|
||||||
|
Loading…
Reference in New Issue
Block a user