Mercurial > dwindows
diff os2/dw.c @ 1404:56f311dc23f6
Changes to get the library building with Watcom on OS/2.
These changes mean that VisualAge 3.0 will no longer build the library.
Please use version 3.6 or higher.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Tue, 29 Nov 2011 15:25:41 +0000 |
parents | ccd383e11ff8 |
children | b7aaf06e9367 |
line wrap: on
line diff
--- a/os2/dw.c Mon Nov 28 05:49:27 2011 +0000 +++ b/os2/dw.c Tue Nov 29 15:25:41 2011 +0000 @@ -1789,7 +1789,8 @@ } } break; - } + } + return (MRESULT)FALSE; } #define CALENDAR_BORDER 3 @@ -2247,7 +2248,7 @@ { if(tmp->message == WM_COMMAND) { - int (* API clickfunc)(HWND, void *) = (int (* API)(HWND, void *))tmp->signalfunction; + int (API * clickfunc)(HWND, void *) = (int (API *)(HWND, void *))tmp->signalfunction; /* Make sure it's the right window, and the right ID */ if(tmp->window == handle) @@ -2786,7 +2787,7 @@ { if((mp2 && tmp->message == WM_SETFOCUS) || (!mp2 && tmp->message == WM_USER+1)) { - int (* API setfocusfunc)(HWND, void *) = (int (* API)(HWND, void *))tmp->signalfunction; + int (API * setfocusfunc)(HWND, void *) = (int (API *)(HWND, void *))tmp->signalfunction; if(hWnd == tmp->window || WinWindowFromID(tmp->window, FID_CLIENT) == hWnd) { @@ -2798,7 +2799,7 @@ break; case WM_TIMER: { - int (* API timerfunc)(void *) = (int (* API)(void *))tmp->signalfunction; + int (API * timerfunc)(void *) = (int (API *)(void *))tmp->signalfunction; if(tmp->id == (int)mp1) { if(!timerfunc(tmp->data)) @@ -2810,7 +2811,7 @@ break; case WM_SIZE: { - int (* API sizefunc)(HWND, int, int, void *) = (int (* API)(HWND, int, int, void *))tmp->signalfunction; + int (API * sizefunc)(HWND, int, int, void *) = (int (API *)(HWND, int, int, void *))tmp->signalfunction; if((hWnd == tmp->window || WinWindowFromID(tmp->window, FID_CLIENT) == hWnd) && SHORT1FROMMP(mp2) && SHORT2FROMMP(mp2)) { @@ -2822,7 +2823,7 @@ case WM_BUTTON1DOWN: { POINTS pts = (*((POINTS*)&mp1)); - int (* API buttonfunc)(HWND, int, int, int, void *) = (int (* API)(HWND, int, int, int, void *))tmp->signalfunction; + int (API * buttonfunc)(HWND, int, int, int, void *) = (int (API *)(HWND, int, int, int, void *))tmp->signalfunction; if(hWnd == tmp->window || WinWindowFromID(tmp->window, FID_CLIENT) == hWnd || WinQueryCapture(HWND_DESKTOP) == tmp->window) { @@ -2849,7 +2850,7 @@ case WM_BUTTON1UP: { POINTS pts = (*((POINTS*)&mp1)); - int (* API buttonfunc)(HWND, int, int, int, void *) = (int (* API)(HWND, int, int, int, void *))tmp->signalfunction; + int (API * buttonfunc)(HWND, int, int, int, void *) = (int (API *)(HWND, int, int, int, void *))tmp->signalfunction; if(hWnd == tmp->window || WinWindowFromID(tmp->window, FID_CLIENT) == hWnd || WinQueryCapture(HWND_DESKTOP) == tmp->window) { @@ -2875,7 +2876,7 @@ break; case WM_MOUSEMOVE: { - int (* API motionfunc)(HWND, int, int, int, void *) = (int (* API)(HWND, int, int, int, void *))tmp->signalfunction; + int (API * motionfunc)(HWND, int, int, int, void *) = (int (API *)(HWND, int, int, int, void *))tmp->signalfunction; if(hWnd == tmp->window || WinWindowFromID(tmp->window, FID_CLIENT) == hWnd || WinQueryCapture(HWND_DESKTOP) == tmp->window) { @@ -2896,7 +2897,7 @@ break; case WM_CHAR: { - int (* API keypressfunc)(HWND, char, int, int, void *) = (int (* API)(HWND, char, int, int, void *))tmp->signalfunction; + int (API * keypressfunc)(HWND, char, int, int, void *) = (int (API *)(HWND, char, int, int, void *))tmp->signalfunction; if((hWnd == tmp->window || _toplevel_window(hWnd) == tmp->window) && !(SHORT1FROMMP(mp1) & KC_KEYUP)) { @@ -2927,7 +2928,7 @@ break; case WM_CLOSE: { - int (* API closefunc)(HWND, void *) = (int (* API)(HWND, void *))tmp->signalfunction; + int (API * closefunc)(HWND, void *) = (int (API *)(HWND, void *))tmp->signalfunction; if(hWnd == tmp->window || hWnd == WinWindowFromID(tmp->window, FID_CLIENT)) { @@ -2942,7 +2943,7 @@ { HPS hps; DWExpose exp; - int (* API exposefunc)(HWND, DWExpose *, void *) = (int (* API)(HWND, DWExpose *, void *))tmp->signalfunction; + int (API * exposefunc)(HWND, DWExpose *, void *) = (int (API *)(HWND, DWExpose *, void *))tmp->signalfunction; RECTL rc; if(hWnd == tmp->window) @@ -2961,7 +2962,7 @@ break; case WM_COMMAND: { - int (* API clickfunc)(HWND, void *) = (int (* API)(HWND, void *))tmp->signalfunction; + int (API * clickfunc)(HWND, void *) = (int (API *)(HWND, void *))tmp->signalfunction; ULONG command = COMMANDMSG(&msg)->cmd; if(tmp->id && command == tmp->id) @@ -2996,7 +2997,7 @@ { case CN_ENTER: { - int (* API containerselectfunc)(HWND, char *, void *) = (int (* API)(HWND, char *, void *))tmp->signalfunction; + int (API * containerselectfunc)(HWND, char *, void *) = (int (API *)(HWND, char *, void *))tmp->signalfunction; char *text = NULL; if(mp2) @@ -3017,7 +3018,7 @@ break; case CN_EXPANDTREE: { - int (* API treeexpandfunc)(HWND, HTREEITEM, void *) = (int (* API)(HWND, HTREEITEM, void *))tmp->signalfunction; + int (API * treeexpandfunc)(HWND, HTREEITEM, void *) = (int (API *)(HWND, HTREEITEM, void *))tmp->signalfunction; if(tmp->window == notifyhwnd) { @@ -3028,7 +3029,7 @@ break; case CN_CONTEXTMENU: { - int (* API containercontextfunc)(HWND, char *, int, int, void *, void *) = (int (* API)(HWND, char *, int, int, void *, void *))tmp->signalfunction; + int (API * containercontextfunc)(HWND, char *, int, int, void *, void *) = (int (API *)(HWND, char *, int, int, void *, void *))tmp->signalfunction; char *text = NULL; void *user = NULL; LONG x,y; @@ -3093,7 +3094,7 @@ if(pci && pre->fEmphasisMask & CRA_CURSORED && (pci->rc.flRecordAttr & CRA_CURSORED)) { - int (* API treeselectfunc)(HWND, HTREEITEM, char *, void *, void *) = (int (* API)(HWND, HTREEITEM, char *, void *, void *))tmp->signalfunction; + int (API * treeselectfunc)(HWND, HTREEITEM, char *, void *, void *) = (int (API *)(HWND, HTREEITEM, char *, void *, void *))tmp->signalfunction; if(dw_window_get_data(tmp->window, "_dw_container")) result = treeselectfunc(tmp->window, 0, (char *)pci->rc.pszIcon, tmp->data, 0); @@ -3127,7 +3128,7 @@ if(strncmp(classbuf, "#38", 4) == 0) { - int (* API valuechangedfunc)(HWND, int, void *) = (int (* API)(HWND, int, void *))tmp->signalfunction; + int (API * valuechangedfunc)(HWND, int, void *) = (int (API *)(HWND, int, void *))tmp->signalfunction; if(tmp->window == hWnd || tmp->window == notifyhwnd) { @@ -3145,7 +3146,7 @@ } else { - int (* API listboxselectfunc)(HWND, int, void *) = (int (* API )(HWND, int, void *))tmp->signalfunction; + int (API * listboxselectfunc)(HWND, int, void *) = (int (API *)(HWND, int, void *))tmp->signalfunction; static int _recursing = 0; if(_recursing == 0 && (tmp->window == notifyhwnd || (!id && tmp->window == (HWND)mp2))) @@ -3183,7 +3184,7 @@ break; case SLN_SLIDERTRACK: { - int (* API valuechangedfunc)(HWND, int, void *) = (int (* API)(HWND, int, void *))tmp->signalfunction; + int (API * valuechangedfunc)(HWND, int, void *) = (int (API *)(HWND, int, void *))tmp->signalfunction; if(origmsg == WM_CONTROL) { @@ -3227,7 +3228,7 @@ if(psn && tmp->window == psn->hwndBook) { - int (* API switchpagefunc)(HWND, unsigned long, void *) = (int (* API)(HWND, unsigned long, void *))tmp->signalfunction; + int (API * switchpagefunc)(HWND, unsigned long, void *) = (int (API *)(HWND, unsigned long, void *))tmp->signalfunction; result = switchpagefunc(tmp->window, psn->ulPageIdNew, tmp->data); tmp = NULL; @@ -3341,7 +3342,7 @@ { int result = -1; static int command_active = 0; - void (* API windowfunc)(PVOID) = 0L; + void (API * windowfunc)(PVOID) = 0L; if(!command_active) { @@ -3491,7 +3492,7 @@ } return MRFROMSHORT(FALSE); case WM_USER: - windowfunc = (void (* API)(void *))mp1; + windowfunc = (void (API *)(void *))mp1; if(windowfunc) windowfunc((void *)mp2); @@ -3898,11 +3899,11 @@ case WM_USER: { SignalHandler *tmp = (SignalHandler *)mp1; - int (* API clickfunc)(HWND, void *) = NULL; + int (API * clickfunc)(HWND, void *) = NULL; if(tmp) { - clickfunc = (int (* API)(HWND, void *))tmp->signalfunction; + clickfunc = (int (API *)(HWND, void *))tmp->signalfunction; clickfunc(tmp->window, tmp->data); } @@ -4268,10 +4269,14 @@ void API dw_debug(char *format, ...) { va_list args; - char outbuf[1024]; + char outbuf[1025] = { 0 }; va_start(args, format); +#if defined(__IBMC__) vsprintf(outbuf, format, args); +#else + vsnprintf(outbuf, 1024, format, args); +#endif va_end(args); if(_PmPrintfString) @@ -4298,11 +4303,15 @@ int API dw_messagebox(char *title, int flags, char *format, ...) { va_list args; - char outbuf[1024]; + char outbuf[1025] = { 0 }; int rc; va_start(args, format); +#if defined(__IBMC__) vsprintf(outbuf, format, args); +#else + vsnprintf(outbuf, 1024, format, args); +#endif va_end(args); rc = WinMessageBox(HWND_DESKTOP, HWND_DESKTOP, (PSZ)outbuf, (PSZ)title, 0, flags | MB_MOVEABLE); @@ -10092,10 +10101,10 @@ { HAB thishab = WinInitialize(0); HMQ thishmq = WinCreateMsgQueue(dwhab, 0); - void (* API threadfunc)(void *) = NULL; + void (API * threadfunc)(void *) = NULL; void **tmp = (void **)data; - threadfunc = (void (* API)(void *))tmp[0]; + threadfunc = (void (API *)(void *))tmp[0]; threadfunc(tmp[1]); free(tmp);