mirror of
https://github.com/ZoiteChat/zoitechat.git
synced 2026-03-11 08:20:17 +00:00
native file open/save dialogs
This commit is contained in:
33
src/common/thread.c
Normal file
33
src/common/thread.c
Normal file
@@ -0,0 +1,33 @@
|
||||
#include <fcntl.h>
|
||||
#include "thread.h"
|
||||
|
||||
thread *
|
||||
thread_new (void)
|
||||
{
|
||||
thread *th;
|
||||
|
||||
th = calloc (1, sizeof (*th));
|
||||
if (!th)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (_pipe (th->pipe_fd, 4096, _O_BINARY) == -1)
|
||||
{
|
||||
free (th);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return th;
|
||||
}
|
||||
|
||||
int
|
||||
thread_start (thread *th, void *(*start_routine)(void *), void *arg)
|
||||
{
|
||||
DWORD id;
|
||||
|
||||
CloseHandle (CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE)start_routine, arg, 0, (DWORD *)&id));
|
||||
th->threadid = id;
|
||||
|
||||
return 1;
|
||||
}
|
||||
10
src/common/thread.h
Normal file
10
src/common/thread.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#include <windows.h>
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DWORD threadid;
|
||||
int pipe_fd[2];
|
||||
} thread;
|
||||
|
||||
thread *thread_new (void);
|
||||
int thread_start (thread *th, void *(*start_routine)(void *), void *arg);
|
||||
@@ -5,7 +5,7 @@ CFLAGS = $(CFLAGS) /DWIN32 /DG_DISABLE_CAST_CHECKS /DG_DISABLE_DEPRECATED /DGDK_
|
||||
CFLAGS = $(CFLAGS) -Ic:\mozilla-build\build\xchat-wdk\plugins
|
||||
CPPFLAGS = /c /MD /W0 /nologo /DWIN32
|
||||
LDFLAGS = /subsystem:windows /nologo
|
||||
LIBS = $(LIBS) gdi32.lib shell32.lib user32.lib advapi32.lib imm32.lib ole32.lib winmm.lib ws2_32.lib wininet.lib
|
||||
LIBS = $(LIBS) gdi32.lib shell32.lib user32.lib advapi32.lib imm32.lib ole32.lib winmm.lib ws2_32.lib wininet.lib comdlg32.lib
|
||||
|
||||
!ifdef X64
|
||||
#############################################################
|
||||
@@ -77,6 +77,7 @@ server.obj \
|
||||
servlist.obj \
|
||||
ssl.obj \
|
||||
text.obj \
|
||||
thread.obj \
|
||||
tree.obj \
|
||||
url.obj \
|
||||
userlist.obj \
|
||||
|
||||
Reference in New Issue
Block a user