64-bit Windows fixes. Patch from Skywing.
authorPekka Riikonen <priikone@silcnet.org>
Sun, 28 Oct 2007 15:21:00 +0000 (15:21 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Sun, 28 Oct 2007 15:21:00 +0000 (15:21 +0000)
lib/silcutil/silcatomic.h
lib/silcutil/win32/silcwin32schedule.c
win32/libsilcclient/libsilcclient.def

index 5ec573353f6707a610dc77c4000c1b43b67556d8..de22f8022c7f25e1cce45c7785bc0fb3c36b4482 100644 (file)
@@ -437,7 +437,7 @@ SILC_ATOMIC_SET_INT_F(bits)                                         \
 SILC_ATOMIC_SET_INT_F(bits)                                            \
 {                                                                      \
   /* Windows */                                                                \
-  InterlockedExchange((LONG)&atomic->value, (LONG)value);              \
+  InterlockedExchange((LONG *)&atomic->value, (LONG)value);            \
 }
 
 #elif defined(__GNUC__) && (defined(SILC_I486) || defined(SILC_X86_64))
@@ -895,7 +895,7 @@ SILC_ATOMIC_INC_F(bits)                                                     \
 SILC_ATOMIC_INC_F(bits)                                                        \
 {                                                                      \
   /* Windows */                                                                \
-  InterlockedIncrement((LONG)&atomic->value);                          \
+  InterlockedIncrement((LONG *)&atomic->value);                                \
 }
 
 #elif defined(__GNUC__) && (defined(SILC_I486) || defined(SILC_X86_64))
@@ -1001,7 +1001,7 @@ SILC_ATOMIC_DEC_F(bits)                                                   \
 SILC_ATOMIC_DEC_F(bits)                                                        \
 {                                                                      \
   /* Windows */                                                                \
-  InterlockedDecrement((LONG)&atomic->value);                          \
+  InterlockedDecrement((LONG *)&atomic->value);                                \
 }
 
 #elif defined(__GNUC__) && (defined(SILC_I486) || defined(SILC_X86_64))
index d336ff6d9189b2dd715d84f8b3f000b331b3da5d..0a0505228121172d4ecffd86fe58c0b7d5b91cfd 100644 (file)
@@ -130,7 +130,7 @@ int silc_select(SilcSchedule schedule, void *context)
 static LRESULT CALLBACK
 silc_schedule_wnd_proc(HWND hwnd, UINT wMsg, WPARAM wParam, LPARAM lParam)
 {
-  SilcSchedule schedule = (SilcSchedule)GetWindowLong(hwnd, GWL_USERDATA);
+  SilcSchedule schedule = (SilcSchedule)GetWindowLongPtr(hwnd, GWL_USERDATA);
   SilcWin32Scheduler internal;
   SilcUInt32 fd;
   SilcTaskFd task;
@@ -268,7 +268,7 @@ void *silc_schedule_internal_init(SilcSchedule schedule, void *app_context)
   }
 
   /* Set the scheduler as the window's context */
-  SetWindowLong(internal->window, GWL_USERDATA, (void *)schedule);
+  SetWindowLongPtr(internal->window, GWL_USERDATA, (void *)schedule);
   SetWindowPos(internal->window, HWND_BOTTOM, 0, 0, 0, 0, SWP_FRAMECHANGED);
 
   internal->wakeup_sema = CreateSemaphore(NULL, 0, 100, NULL);
index 5bb9e9bbb2b54e07ffd81bfc8e37467c7b02c658..99a05c9d70866949ebf79c1e81c91dc74253635d 100644 (file)
@@ -72,3 +72,4 @@ EXPORTS
        silc_client_private_message_wait_uninit @ 71 ;\r
        silc_client_send_private_message @ 72 ;\r
        silc_client_set_away_message @ 73 ;\r
+       silc_client_stop @ 74 ;\r