* win32/win32.c (wlink, rb_w32_getppid): use typedef instead of

repeating compilcated function prototypes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2010-11-23 12:59:50 +00:00
Родитель 3c575a15c2
Коммит 16cb5ce483
2 изменённых файлов: 11 добавлений и 4 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Tue Nov 23 21:59:47 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* win32/win32.c (wlink, rb_w32_getppid): use typedef instead of
repeating compilcated function prototypes.
Tue Nov 23 18:54:03 2010 Nobuyoshi Nakada <nobu@ruby-lang.org> Tue Nov 23 18:54:03 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm.c (rb_thread_mark): should mark self in conrol * vm.c (rb_thread_mark): should mark self in conrol

Просмотреть файл

@ -3815,11 +3815,12 @@ kill(int pid, int sig)
static int static int
wlink(const WCHAR *from, const WCHAR *to) wlink(const WCHAR *from, const WCHAR *to)
{ {
static BOOL (WINAPI *pCreateHardLinkW)(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES) = NULL; typedef BOOL (WINAPI link_func)(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES);
static link_func *pCreateHardLinkW = NULL;
static int myerrno = 0; static int myerrno = 0;
if (!pCreateHardLinkW && !myerrno) { if (!pCreateHardLinkW && !myerrno) {
pCreateHardLinkW = (BOOL (WINAPI *)(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES))get_proc_address("kernel32", "CreateHardLinkW", NULL); pCreateHardLinkW = (link_func *)get_proc_address("kernel32", "CreateHardLinkW", NULL);
if (!pCreateHardLinkW) if (!pCreateHardLinkW)
myerrno = ENOSYS; myerrno = ENOSYS;
} }
@ -4662,12 +4663,13 @@ rb_w32_getpid(void)
rb_pid_t rb_pid_t
rb_w32_getppid(void) rb_w32_getppid(void)
{ {
static long (WINAPI *pNtQueryInformationProcess)(HANDLE, int, void *, ULONG, ULONG *) = NULL; typedef long (WINAPI query_func)(HANDLE, int, void *, ULONG, ULONG *);
static query_func *pNtQueryInformationProcess = NULL;
rb_pid_t ppid = 0; rb_pid_t ppid = 0;
if (!IsWin95() && rb_w32_osver() >= 5) { if (!IsWin95() && rb_w32_osver() >= 5) {
if (!pNtQueryInformationProcess) if (!pNtQueryInformationProcess)
pNtQueryInformationProcess = (long (WINAPI *)(HANDLE, int, void *, ULONG, ULONG *))get_proc_address("ntdll.dll", "NtQueryInformationProcess", NULL); pNtQueryInformationProcess = (query_func *)get_proc_address("ntdll.dll", "NtQueryInformationProcess", NULL);
if (pNtQueryInformationProcess) { if (pNtQueryInformationProcess) {
struct { struct {
long ExitStatus; long ExitStatus;