Fixed ANSI compabillity.

diff --git a/controls/button.c b/controls/button.c
index b8f6726..6f1f27d 100644
--- a/controls/button.c
+++ b/controls/button.c
@@ -80,12 +80,15 @@
 {
     RECT rect;
     LRESULT retvalue;
-    POINT pt = { LOWORD(lParam), HIWORD(lParam) };
+    POINT pt;
     WND *wndPtr = WIN_FindWndPtr(hWnd);
     BUTTONINFO *infoPtr = (BUTTONINFO *)wndPtr->wExtra;
     LONG style = wndPtr->dwStyle & 0x0f;
     HANDLE oldHbitmap;
 
+    pt.x = LOWORD(lParam);
+    pt.y = HIWORD(lParam);
+
     switch (uMsg)
     {
     case WM_GETDLGCODE:
diff --git a/controls/combo.c b/controls/combo.c
index e8c080e..9d8ba69 100644
--- a/controls/combo.c
+++ b/controls/combo.c
@@ -1574,10 +1574,12 @@
  */
 static void COMBO_LButtonDown( LPHEADCOMBO lphc, LPARAM lParam )
 {
-   POINT     pt = { LOWORD(lParam), HIWORD(lParam) };
+   POINT     pt;
    BOOL      bButton;
    HWND      hWnd = lphc->self->hwndSelf;
 
+   pt.x = LOWORD(lParam);
+   pt.y = HIWORD(lParam);
    bButton = PtInRect(&lphc->buttonRect, pt);
 
    if( (CB_GETTYPE(lphc) == CBS_DROPDOWNLIST) ||
@@ -1643,9 +1645,12 @@
  */
 static void COMBO_MouseMove( LPHEADCOMBO lphc, WPARAM wParam, LPARAM lParam )
 {
-   POINT  pt = { LOWORD(lParam), HIWORD(lParam) };
+   POINT  pt;
    RECT   lbRect;
-
+   
+   pt.x = LOWORD(lParam);
+   pt.y = HIWORD(lParam);
+   
    if( lphc->wState & CBF_BUTTONDOWN )
    {
      BOOL bButton;
diff --git a/controls/listbox.c b/controls/listbox.c
index f64037a..7f9b58d 100644
--- a/controls/listbox.c
+++ b/controls/listbox.c
@@ -1765,7 +1765,11 @@
                             MAKELPARAM( x, y ) );
         if (wnd->dwExStyle & WS_EX_DRAGDETECT)
         {
-            POINT pt = { x, y };
+            POINT pt;
+	    
+	    pt.x = x;
+	    pt.y = y;
+
             if (DragDetect( wnd->hwndSelf, pt ))
                 SendMessageA( descr->owner, WM_BEGINDRAG, 0, 0 );
         }
@@ -2004,7 +2008,10 @@
                                    WPARAM wParam )
 {
     INT caret = -1;
-    char str[2] = { wParam & 0xff, '\0' };
+    char str[2];
+    
+    str[0] = wParam & 0xff; 
+    str[1] = '\0';
 
     if (descr->style & LBS_WANTKEYBOARDINPUT)
     {
@@ -2267,8 +2274,16 @@
 
     case LB_ITEMFROMPOINT:
         {
-            POINT pt = { LOWORD(lParam), HIWORD(lParam) };
-            RECT rect = { 0, 0, descr->width, descr->height };
+            POINT pt;
+            RECT rect;
+
+	    pt.x = LOWORD(lParam);
+	    pt.y = HIWORD(lParam);
+	    rect.left = 0;
+	    rect.top = 0;
+	    rect.right = descr->width;
+	    rect.bottom = descr->height;
+
             retvalue = MAKELONG( LISTBOX_GetItemFromPoint(wnd, descr, pt.x, pt.y),
                              PtInRect( &rect, pt ) );
             goto END;
diff --git a/controls/menu.c b/controls/menu.c
index 0722249..3e908ad 100644
--- a/controls/menu.c
+++ b/controls/menu.c
@@ -148,7 +148,7 @@
 static HBITMAP hStdCheck = 0;
 static HBITMAP hStdMnArrow = 0;
 
-// Minimze/restore/close buttons to be inserted in menubar
+/* Minimze/restore/close buttons to be inserted in menubar */
 static HBITMAP hBmpMinimize = 0;
 static HBITMAP hBmpMinimizeD = 0;
 static HBITMAP hBmpMaximize = 0;
@@ -664,11 +664,13 @@
 
 static HBITMAP MENU_LoadMagicItem(UINT id, BOOL hilite, DWORD dwItemData)
 {
-    // Magic menu item id's section
-    // These magic id's are used by windows to insert "standard" mdi
-    // buttons (minimize,restore,close) on menu. Under windows,
-    // these magic id's make sure the right things appear when those
-    // bitmap buttons are pressed/selected/released.
+    /*
+     * Magic menu item id's section
+     * These magic id's are used by windows to insert "standard" mdi
+     * buttons (minimize,restore,close) on menu. Under windows,
+     * these magic id's make sure the right things appear when those
+     * bitmap buttons are pressed/selected/released.
+     */
 
     switch(id)
     {   case HBMMENU_SYSTEM:
@@ -2535,7 +2537,14 @@
     POPUPMENU *menu;
     BOOL fRemove;
     INT executedMenuId = 0;
-    MTRACKER mt = { 0, hmenu, hmenu, hwnd, {x, y} };	/* control struct */
+    MTRACKER mt;
+
+    mt.trackFlags = 0;
+    mt.hCurrentMenu = hmenu;
+    mt.hTopMenu = hmenu;
+    mt.hOwnerWnd = hwnd;
+    mt.pt.x = x;
+    mt.pt.y = y;
 
     TRACE(menu,"hmenu=0x%04x flags=0x%08x (%d,%d) hwnd=0x%04x (%d,%d)-(%d,%d)\n",
 	    hmenu, wFlags, x, y, hwnd, (lprect) ? lprect->left : 0, (lprect) ? lprect->top : 0,
diff --git a/debugger/db_disasm.c b/debugger/db_disasm.c
index c7ad0e2..6f03300 100644
--- a/debugger/db_disasm.c
+++ b/debugger/db_disasm.c
@@ -1005,7 +1005,12 @@
 
 static void db_task_printsym(unsigned int addr, int size)
 {
-    DBG_ADDR address = { NULL, 0, addr };
+    DBG_ADDR address;
+
+    address.type = NULL;
+    address.seg = 0;
+    address.off = addr;
+
     DEBUG_PrintAddress( &address, db_disasm_16 ? 16 : 32, TRUE );
 }
 
diff --git a/debugger/dbg.y b/debugger/dbg.y
index 3d90b99..5c15c1e 100644
--- a/debugger/dbg.y
+++ b/debugger/dbg.y
@@ -236,10 +236,13 @@
 				   }
 				}
     | tBREAK tNUM tEOL	       { struct name_hash *nh;
-				 DBG_ADDR addr = { NULL,
-						   CS_reg(&DEBUG_context),
-                                                   EIP_reg(&DEBUG_context) };
+				 DBG_ADDR addr;
 				 TDB *pTask = (TDB*)GlobalLock16( GetCurrentTask() );
+
+				 addr.type = NULL;
+				 addr.seg = CS_reg(&DEBUG_context);
+				 addr.off = EIP_reg(&DEBUG_context);
+
 				 if (ISV86(&DEBUG_context))
 				     addr.seg |= (DWORD)(pTask?(pTask->hModule):0)<<16;
 				 DBG_FIX_ADDR_SEG( &addr, CS_reg(&DEBUG_context) );
@@ -258,10 +261,13 @@
 				   }
                                }
 
-    | tBREAK tEOL              { DBG_ADDR addr = { NULL,
-						   CS_reg(&DEBUG_context),
-                                                   EIP_reg(&DEBUG_context) };
+    | tBREAK tEOL              { DBG_ADDR addr;
 				 TDB *pTask = (TDB*)GlobalLock16( GetCurrentTask() );
+
+				 addr.type = NULL;
+				 addr.seg = CS_reg(&DEBUG_context);
+				 addr.off = EIP_reg(&DEBUG_context);
+
 				 if (ISV86(&DEBUG_context))
 				     addr.seg |= (DWORD)(pTask?(pTask->hModule):0)<<16;
 				 GlobalUnlock16( GetCurrentTask() );
diff --git a/debugger/stack.c b/debugger/stack.c
index a73ec0a..68b141b 100644
--- a/debugger/stack.c
+++ b/debugger/stack.c
@@ -51,7 +51,11 @@
  */
 void DEBUG_InfoStack(void)
 {
-    DBG_ADDR addr = { NULL, SS_reg(&DEBUG_context), ESP_reg(&DEBUG_context) };
+    DBG_ADDR addr;
+
+    addr.type = NULL;
+    addr.seg = SS_reg(&DEBUG_context);
+    addr.off = ESP_reg(&DEBUG_context);
 
     fprintf(stderr,"Stack dump:\n");
     if (IS_SELECTOR_32BIT(addr.seg))
diff --git a/dlls/avifil32/avifile.c b/dlls/avifil32/avifile.c
index f8efb63..9ad0a89 100644
--- a/dlls/avifil32/avifile.c
+++ b/dlls/avifil32/avifile.c
@@ -434,8 +434,8 @@
 		icf.lQuality 	= aco->dwQuality;
 		icf.lKeyRate 	= aco->dwKeyFrameEvery;
 
-		icf.GetData = (void*)0xdead4242;
-		icf.PutData = (void*)0xdead4243;
+		icf.GetData = (LONG (*)(LPARAM,LONG,LPVOID,LONG)) 0xdead4242;
+		icf.PutData = (LONG (*)(LPARAM,LONG,LPVOID,LONG)) 0xdead4243;
 		ICSendMessage(as->hic,ICM_COMPRESS_FRAMES_INFO,(LPARAM)&icf,sizeof(icf));
 	}
 	return S_OK;
diff --git a/dlls/comctl32/tab.c b/dlls/comctl32/tab.c
index aabf7e8..89151c2 100644
--- a/dlls/comctl32/tab.c
+++ b/dlls/comctl32/tab.c
@@ -1150,8 +1150,13 @@
    */
   if (isVisible)
   {
-    POINT pt1 = { selectedRect.left, selectedRect.top };
-    POINT pt2 = { selectedRect.right - 1, selectedRect.bottom - 1 };
+    POINT pt1;
+    POINT pt2;
+
+    pt1.x = selectedRect.left;
+    pt1.y = selectedRect.top;
+    pt2.x = selectedRect.right - 1;
+    pt2.y = selectedRect.bottom - 1;
 
     isVisible = PtInRect(&visibleRect, pt1) &&  PtInRect(&visibleRect, pt2);
   }
@@ -1176,8 +1181,13 @@
      */
     if (isVisible)
     {
-      POINT pt1 = { selectedRect.left, selectedRect.top };
-      POINT pt2 = { selectedRect.right - 1, selectedRect.bottom - 1 };
+      POINT pt1;
+      POINT pt2;
+
+      pt1.x = selectedRect.left;
+      pt1.y = selectedRect.top;
+      pt2.x = selectedRect.right - 1;
+      pt2.y = selectedRect.bottom - 1;
       
       isVisible = PtInRect(&visibleRect, pt1) &&  PtInRect(&visibleRect, pt2);
     }
diff --git a/dlls/comctl32/toolbar.c b/dlls/comctl32/toolbar.c
index 590d9fd..c6cd5df 100644
--- a/dlls/comctl32/toolbar.c
+++ b/dlls/comctl32/toolbar.c
@@ -2197,7 +2197,7 @@
     infoPtr->bUnicode = IsWindowUnicode (hwnd);
     infoPtr->nButtonDown = -1;
     infoPtr->nOldHit = -1;
-    infoPtr->nHotItem = -2; // It has to be initially different from nOldHit
+    infoPtr->nHotItem = -2; /* It has to be initially different from nOldHit */
     infoPtr->hwndNotify = GetParent (hwnd);
     infoPtr->bTransparent = (dwStyle & TBSTYLE_FLAT);
     infoPtr->dwDTFlags = DT_CENTER;
@@ -2447,7 +2447,7 @@
 
     if (infoPtr->nOldHit != nHit)
     {
-	//Remove the effect of an old hot button
+        /* Remove the effect of an old hot button */
 	if(infoPtr->nOldHit == infoPtr->nHotItem)
 	{
 	    oldBtnPtr = &infoPtr->buttons[infoPtr->nOldHit];
@@ -2456,7 +2456,7 @@
 	    InvalidateRect (hwnd, &oldBtnPtr->rect, TRUE);
 	}
 
-	// It's not a separator or in nowhere. It's a hot button.
+	/* It's not a separator or in nowhere. It's a hot button. */
 	if (nHit >= 0)
 	{
 	    btnPtr = &infoPtr->buttons[nHit];
diff --git a/dlls/comctl32/trackbar.c b/dlls/comctl32/trackbar.c
index 844d8d3..e266b61 100644
--- a/dlls/comctl32/trackbar.c
+++ b/dlls/comctl32/trackbar.c
@@ -88,7 +88,7 @@
 /* converts from physical (mouse) position to logical position 
    (in range of trackbar) */
 
-static inline INT
+static __inline__ INT
 TRACKBAR_ConvertPlaceToPosition (TRACKBAR_INFO *infoPtr, int place, 
 								int vertical) 
 {
diff --git a/dlls/ntdll/time.c b/dlls/ntdll/time.c
index 41572cd..45ffabb 100644
--- a/dlls/ntdll/time.c
+++ b/dlls/ntdll/time.c
@@ -36,12 +36,12 @@
 	{ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
 };
 
-static __inline int IsLeapYear(int Year)
+static __inline__ int IsLeapYear(int Year)
 {
 	return Year % 4 == 0 && (Year % 100 != 0 || Year % 400 == 0) ? 1 : 0;
 }
 
-static __inline void NormalizeTimeFields(CSHORT *FieldToNormalize, CSHORT *CarryField,int Modulus)
+static __inline__ void NormalizeTimeFields(CSHORT *FieldToNormalize, CSHORT *CarryField,int Modulus)
 {
 	*FieldToNormalize = (CSHORT) (*FieldToNormalize - Modulus);
 	*CarryField = (CSHORT) (*CarryField + 1);
diff --git a/dlls/shell32/brsfolder.c b/dlls/shell32/brsfolder.c
index 65d130b..c9a7982 100644
--- a/dlls/shell32/brsfolder.c
+++ b/dlls/shell32/brsfolder.c
@@ -154,7 +154,7 @@
 
 	      }
 	    }
-	    SHFree(pidlTemp);  //Finally, free the pidl that the shell gave us...
+	    SHFree(pidlTemp);  /* Finally, free the pidl that the shell gave us... */
 	    pidlTemp=0;
 	  }
 	}
@@ -172,7 +172,7 @@
 static LRESULT MsgNotify(HWND hWnd,  UINT CtlID, LPNMHDR lpnmh)
 {	
 	NMTREEVIEWA	*pnmtv   = (NMTREEVIEWA *)lpnmh;
-	LPTV_ITEMDATA	lptvid;  //Long pointer to TreeView item data
+	LPTV_ITEMDATA	lptvid;  /* Long pointer to TreeView item data */
 	IShellFolder *	lpsf2=0;
 	
 
diff --git a/dlls/shell32/shlview.c b/dlls/shell32/shlview.c
index e5fe7b7..514ef3c 100644
--- a/dlls/shell32/shlview.c
+++ b/dlls/shell32/shlview.c
@@ -196,7 +196,7 @@
 	int i;
 	enum
 	{ IN_STD_BMP = 0x4000,
-	  IN_VIEW_BMP = 0x8000,
+	  IN_VIEW_BMP = 0x8000
 	} ;
 	static const TBBUTTON c_tbDefault[] =
 	{ { STD_COPY | IN_STD_BMP, FCIDM_SHVIEW_COPY, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0,0}, 0, -1},
diff --git a/files/drive.c b/files/drive.c
index 93c2c1d..41418c8 100644
--- a/files/drive.c
+++ b/files/drive.c
@@ -654,7 +654,7 @@
     }
 
 /* FIXME: add autoconf check for this */
-#if defined(__svr4__) || defined(_SCO_DS)
+#if defined(__svr4__) || defined(_SCO_DS) || defined(__sun)
     if (statfs( DOSDrives[drive].root, &info, 0, 0) < 0)
 #else
     if (statfs( DOSDrives[drive].root, &info) < 0)
diff --git a/graphics/metafiledrv/objects.c b/graphics/metafiledrv/objects.c
index 7d8f103..3f1f6c4 100644
--- a/graphics/metafiledrv/objects.c
+++ b/graphics/metafiledrv/objects.c
@@ -148,9 +148,12 @@
 static HBRUSH MFDRV_BRUSH_SelectObject( DC * dc, HBRUSH hbrush,
                                           BRUSHOBJ * brush )
 {
-    LOGBRUSH16 logbrush = { brush->logbrush.lbStyle,
-                            brush->logbrush.lbColor,
-                            brush->logbrush.lbHatch };
+    LOGBRUSH16 logbrush;
+                                                        
+    logbrush.lbStyle = brush->logbrush.lbStyle;
+    logbrush.lbColor = brush->logbrush.lbColor;
+    logbrush.lbHatch = brush->logbrush.lbHatch;   
+
     switch (brush->logbrush.lbStyle)
     {
     case BS_SOLID:
@@ -230,11 +233,16 @@
  */
 static HPEN MFDRV_PEN_SelectObject( DC * dc, HPEN hpen, PENOBJ * pen )
 {
+    LOGPEN16 logpen;
     HPEN prevHandle = dc->w.hPen;
-    LOGPEN16 logpen = { pen->logpen.lopnStyle,
-                        { pen->logpen.lopnWidth.x, pen->logpen.lopnWidth.y },
-                        pen->logpen.lopnColor };
+
+    logpen.lopnStyle = pen->logpen.lopnStyle;
+    logpen.lopnWidth.x = pen->logpen.lopnWidth.x;
+    logpen.lopnWidth.y = pen->logpen.lopnWidth.y;
+    logpen.lopnColor = pen->logpen.lopnColor;
+
     if (MFDRV_CreatePenIndirect( dc, hpen, &logpen )) return prevHandle;
+
     return 0;
 }
 
diff --git a/graphics/win16drv/font.c b/graphics/win16drv/font.c
index c3f0722..a0d3810 100644
--- a/graphics/win16drv/font.c
+++ b/graphics/win16drv/font.c
@@ -179,11 +179,13 @@
 {
     WIN16DRV_PDEVICE *physDev = (WIN16DRV_PDEVICE *)dc->physDev;
     WORD wRet;
-    WEPFC wepfc = {proc, lp};
-
+    WEPFC wepfc;
     /* EnumDFontCallback is GDI.158 */
     FARPROC16 pfnCallback = NE_GetEntryPoint( GetModuleHandle16("GDI"), 158 );
 
+    wepfc.proc = proc;
+    wepfc.lp = lp;
+
     wRet = PRTDRV_EnumDFonts(physDev->segptrPDEVICE, plf->lfFaceName[0] ?
 			     plf->lfFaceName : NULL , pfnCallback , &wepfc );
     return wRet;
diff --git a/graphics/x11drv/bitblt.c b/graphics/x11drv/bitblt.c
index 565f1d7..4d642f4 100644
--- a/graphics/x11drv/bitblt.c
+++ b/graphics/x11drv/bitblt.c
@@ -1406,9 +1406,21 @@
 BOOL X11DRV_PatBlt( DC *dc, INT left, INT top,
                       INT width, INT height, DWORD rop )
 {
-    struct StretchBlt_params params = { dc, left, top, width, height,
-                                        NULL, 0, 0, 0, 0, rop };
+    struct StretchBlt_params params;
     BOOL result;
+
+    params.dcDst = dc;
+    params.xDst = left;
+    params.yDst = top;
+    params.widthDst = width;
+    params.heightDst = height;
+    params.dcSrc = NULL;
+    params.xSrc = 0;
+    params.ySrc = 0;
+    params.widthSrc = 0;
+    params.heightSrc = 0;
+    params.rop = rop;
+
     X11DRV_DIB_UpdateDIBSection( dc, FALSE );
     EnterCriticalSection( &X11DRV_CritSection );
     result = (BOOL)CALL_LARGE_STACK( BITBLT_DoStretchBlt, &params );
@@ -1425,9 +1437,21 @@
                       INT width, INT height, DC *dcSrc,
                       INT xSrc, INT ySrc, DWORD rop )
 {
-    struct StretchBlt_params params = { dcDst, xDst, yDst, width, height,
-                                        dcSrc, xSrc, ySrc, width, height, rop};
+    struct StretchBlt_params params;
     BOOL result;
+
+    params.dcDst = dcDst;
+    params.xDst = xDst;
+    params.yDst = yDst;
+    params.widthDst = width;
+    params.heightDst = height;
+    params.dcSrc = dcSrc;
+    params.xSrc = xSrc;
+    params.ySrc = ySrc;
+    params.widthSrc = width;
+    params.heightSrc = height;
+    params.rop = rop;
+
     X11DRV_DIB_UpdateDIBSection( dcDst, FALSE );
     X11DRV_DIB_UpdateDIBSection( dcSrc, FALSE );
     EnterCriticalSection( &X11DRV_CritSection );
@@ -1446,10 +1470,21 @@
                           DC *dcSrc, INT xSrc, INT ySrc,
                           INT widthSrc, INT heightSrc, DWORD rop )
 {
-    struct StretchBlt_params params = { dcDst, xDst, yDst, widthDst, heightDst,
-                                        dcSrc, xSrc, ySrc, widthSrc, heightSrc,
-                                        rop };
+    struct StretchBlt_params params;
     BOOL result;
+
+    params.dcDst = dcDst;
+    params.xDst = xDst;
+    params.yDst = yDst;
+    params.widthDst = widthDst;
+    params.heightDst = heightDst;
+    params.dcSrc = dcSrc;
+    params.xSrc = xSrc;
+    params.ySrc = ySrc;
+    params.widthSrc = widthSrc;
+    params.heightSrc = heightSrc;
+    params.rop = rop;
+
     X11DRV_DIB_UpdateDIBSection( dcDst, FALSE );
     X11DRV_DIB_UpdateDIBSection( dcSrc, FALSE );
     EnterCriticalSection( &X11DRV_CritSection );
diff --git a/graphics/x11drv/graphics.c b/graphics/x11drv/graphics.c
index 3ed747f..adf6d04 100644
--- a/graphics/x11drv/graphics.c
+++ b/graphics/x11drv/graphics.c
@@ -1190,11 +1190,17 @@
                      UINT fillType )
 {
     BOOL result;
-    struct FloodFill_params params = { dc, x, y, color, fillType };
+    struct FloodFill_params params;
 
     TRACE(graphics, "X11DRV_ExtFloodFill %d,%d %06lx %d\n",
                       x, y, color, fillType );
 
+    params.dc = dc;
+    params.x = x;
+    params.y = y;
+    params.color = color;
+    params.fillType = fillType;
+
     if (!PtVisible( dc->hSelf, x, y )) return FALSE;
     EnterCriticalSection( &X11DRV_CritSection );
     result = CALL_LARGE_STACK( X11DRV_DoFloodFill, &params );
diff --git a/graphics/x11drv/xfont.c b/graphics/x11drv/xfont.c
index 677dc62..d7d4392 100644
--- a/graphics/x11drv/xfont.c
+++ b/graphics/x11drv/xfont.c
@@ -553,9 +553,17 @@
    if (fo->lf.lfEscapement) {
      /* escapement is in tenths of degrees, theta is in radians */
      double theta = M_PI*fo->lf.lfEscapement/1800.;  
-     double h_matrix[4] = {h*cos(theta), h*sin(theta), -h*sin(theta), h*cos(theta)};
-     double point_matrix[4] = {point*cos(theta), point*sin(theta), -point*sin(theta), point*cos(theta)};
+     double h_matrix[4];
+     double point_matrix[4];
      char *s;
+     h_matrix[0] = h*cos(theta);
+     h_matrix[1] = h*sin(theta);
+     h_matrix[2] = -h*sin(theta);
+     h_matrix[3] = h*cos(theta);
+     point_matrix[0] = point*cos(theta);
+     point_matrix[1] = point*sin(theta);
+     point_matrix[2] = -point*sin(theta);
+     point_matrix[3] = point*cos(theta);
      sprintf(h_string, "[%+f%+f%+f%+f]", h_matrix[0], h_matrix[1], h_matrix[2], h_matrix[3]);
      sprintf(point_string, "[%+f%+f%+f%+f]", point_matrix[0], point_matrix[1], point_matrix[2], point_matrix[3]);
      while ((s = strchr(h_string, '-'))) *s='~';
@@ -594,6 +602,7 @@
 		  /* fall through */
 
 	case 255: /* no suffix */
+	          break;
    }
 
    lpch = lpLFD + lstrlenA(lpLFD);
@@ -962,7 +971,11 @@
     char* 	lpstr, *lpch;
     int		i, up;
     BYTE	bFamilyStyle;
-    const char*	relocTable[] = { INIDefaultFixed, INIDefault, NULL };
+    const char*	relocTable[3];
+    
+    relocTable[0] = INIDefaultFixed;
+    relocTable[1] = INIDefault;
+    relocTable[2] = NULL;
 
     for( fr = fontList; fr ; fr = fr->next )
     {
@@ -2354,9 +2367,15 @@
 
     if( !pfo )
     {
-	fontMatch	fm = { NULL, NULL, 0, 0, plf};
+	fontMatch	fm;
 	INT		i, index;
 
+	fm.pfr = NULL;
+	fm.pfi = NULL;
+	fm.height = 0;
+	fm.flags = 0;
+	fm.plf = plf;
+
 	if( XTextCaps & TC_SF_X_YINDEP ) fm.flags = FO_MATCH_XYINDEP;
 
 	/* allocate new font cache entry */
diff --git a/include/d3d.h b/include/d3d.h
index 6ebeb00..bd77cbb 100644
--- a/include/d3d.h
+++ b/include/d3d.h
@@ -265,7 +265,7 @@
   D3DRENDERSTATE_STIPPLEPATTERN29   = 93,
   D3DRENDERSTATE_STIPPLEPATTERN30   = 94,
   D3DRENDERSTATE_STIPPLEPATTERN31   = 95,
-  D3DRENDERSTATE_FORCE_DWORD        = 0x7fffffff, /* force 32-bit size enum */
+  D3DRENDERSTATE_FORCE_DWORD        = 0x7fffffff /* force 32-bit size enum */
 } D3DRENDERSTATETYPE;
 
 typedef enum { 
@@ -288,21 +288,21 @@
   D3DLIGHTSTATE_FOGSTART      = 5,
   D3DLIGHTSTATE_FOGEND        = 6,
   D3DLIGHTSTATE_FOGDENSITY    = 7,
-  D3DLIGHTSTATE_FORCE_DWORD   = 0x7fffffff, /* force 32-bit size enum */
+  D3DLIGHTSTATE_FORCE_DWORD   = 0x7fffffff /* force 32-bit size enum */
 } D3DLIGHTSTATETYPE;
 
 typedef enum {
   D3DVT_VERTEX        = 1,
   D3DVT_LVERTEX       = 2,
   D3DVT_TLVERTEX      = 3,
-  D3DVT_FORCE_DWORD   = 0x7fffffff, /* force 32-bit size enum */
+  D3DVT_FORCE_DWORD   = 0x7fffffff /* force 32-bit size enum */
 } D3DVERTEXTYPE;
 
 typedef enum {
   D3DTRANSFORMSTATE_WORLD           = 1,
   D3DTRANSFORMSTATE_VIEW            = 2,
   D3DTRANSFORMSTATE_PROJECTION      = 3,
-  D3DTRANSFORMSTATE_FORCE_DWORD     = 0x7fffffff, /* force 32-bit size enum */
+  D3DTRANSFORMSTATE_FORCE_DWORD     = 0x7fffffff /* force 32-bit size enum */
 } D3DTRANSFORMSTATETYPE;
 
 /* ********************************************************************
@@ -1017,7 +1017,7 @@
   D3DOP_SPAN            = 13, 
   D3DOP_SETSTATUS       = 14, 
   
-  D3DOP_FORCE_DWORD     = 0x7fffffff, 
+  D3DOP_FORCE_DWORD     = 0x7fffffff 
 } D3DOPCODE; 
 
 typedef struct _D3DPOINT { 
diff --git a/include/dde.h b/include/dde.h
index 5e0d7aa..3cb62b8 100644
--- a/include/dde.h
+++ b/include/dde.h
@@ -29,14 +29,14 @@
 /* DDEACK: wStatus in WM_DDE_ACK message */
 struct tagDDEACK
 {
-    WORD bAppReturnCode:8, reserved:6, fBusy:1, fAck:1;
+    unsigned bAppReturnCode:8, reserved:6, fBusy:1, fAck:1;
 };
 typedef struct tagDDEACK DDEACK;
 
 /* DDEDATA: hData in WM_DDE_DATA message */
 struct tagDDEDATA
 {
-    WORD unused:12, fResponse:1, fRelease:1, reserved:1, fAckReq:1,
+    unsigned unused:12, fResponse:1, fRelease:1, reserved:1, fAckReq:1,
          cfFormat:16;
     BYTE Value[1];		/* undetermined array */
 };
@@ -46,14 +46,14 @@
 /* DDEADVISE: hOptions in WM_DDE_ADVISE message */
 struct tagDDEADVISE
 {
-    WORD reserved:14, fDeferUpd:1, fAckReq:1, cfFormat:16;
+    unsigned reserved:14, fDeferUpd:1, fAckReq:1, cfFormat:16;
 };
 typedef struct tagDDEADVISE DDEADVISE;
 
 /* DDEPOKE: hData in WM_DDE_POKE message. */
 struct tagDDEPOKE
 {
-    WORD unused:13, fRelease:1, fReserved:2, cfFormat:16;
+    unsigned unused:13, fRelease:1, fReserved:2, cfFormat:16;
     BYTE Value[1];   	/* undetermined array */
 };
 typedef struct tagDDEPOKE DDEPOKE;
diff --git a/include/imagehlp.h b/include/imagehlp.h
index 4f6077a..91c3739 100644
--- a/include/imagehlp.h
+++ b/include/imagehlp.h
@@ -306,12 +306,12 @@
   DWORD cbProcSize;
   DWORD cdwLocals;
   WORD  cdwParams;
-  WORD  cbProlog : 8;
-  WORD  cbRegs   : 3;
-  WORD  fHasSEH  : 1;
-  WORD  fUseBP   : 1;
-  WORD  reserved : 1;
-  WORD  cbFrame  : 2;
+  unsigned cbProlog : 8;
+  unsigned cbRegs   : 3;
+  unsigned fHasSEH  : 1;
+  unsigned fUseBP   : 1;
+  unsigned reserved : 1;
+  unsigned cbFrame  : 2;
 } FPO_DATA, *PFPO_DATA;
 
 typedef struct _IMAGE_DEBUG_INFORMATION {
diff --git a/include/imm.h b/include/imm.h
index 46dfc1dc..1cb4a87 100644
--- a/include/imm.h
+++ b/include/imm.h
@@ -59,7 +59,7 @@
 				RECT  rcArea;
 } COMPOSITIONFORM, *LPCOMPOSITIONFORM;
 
-// wParam for WM_IME_CONTROL
+/* wParam for WM_IME_CONTROL */
 #define IMC_GETCANDIDATEPOS             0x0007
 #define IMC_SETCANDIDATEPOS             0x0008
 #define IMC_GETCOMPOSITIONFONT          0x0009
@@ -71,8 +71,10 @@
 #define IMC_CLOSESTATUSWINDOW           0x0021
 #define IMC_OPENSTATUSWINDOW            0x0022
 
-// wParam for WM_IME_CONTROL to the soft keyboard
-// dwAction for ImmNotifyIME
+/*
+ * wParam for WM_IME_CONTROL to the soft keyboard
+ * dwAction for ImmNotifyIME
+ */
 #define NI_OPENCANDIDATE                0x0010
 #define NI_CLOSECANDIDATE               0x0011
 #define NI_SELECTCANDIDATESTR           0x0012
@@ -82,7 +84,7 @@
 #define NI_SETCANDIDATE_PAGESTART       0x0016
 #define NI_SETCANDIDATE_PAGESIZE        0x0017
 
-// lParam for WM_IME_SETCONTEXT
+/* lParam for WM_IME_SETCONTEXT */
 #define ISC_SHOWUICANDIDATEWINDOW       0x00000001
 #define ISC_SHOWUICOMPOSITIONWINDOW     0x80000000
 #define ISC_SHOWUIGUIDELINE             0x40000000
@@ -90,14 +92,14 @@
 #define ISC_SHOWUIALL                   0xC000000F
 
 
-// dwIndex for ImmNotifyIME/NI_COMPOSITIONSTR
+/* dwIndex for ImmNotifyIME/NI_COMPOSITIONSTR */
 #define CPS_COMPLETE                    0x0001
 #define CPS_CONVERT                     0x0002
 #define CPS_REVERT                      0x0003
 #define CPS_CANCEL                      0x0004
 
 
-// the modifiers of hot key
+/* the modifiers of hot key */
 #define MOD_ALT                         0x0001
 #define MOD_CONTROL                     0x0002
 #define MOD_SHIFT                       0x0004
@@ -109,28 +111,28 @@
 #define MOD_IGNORE_ALL_MODIFIER         0x0400
 
 
-// Windows for Simplified Chinese Edition hot key ID from 0x10 - 0x2F
+/* Windows for Simplified Chinese Edition hot key ID from 0x10 - 0x2F */
 #define IME_CHOTKEY_IME_NONIME_TOGGLE           0x10
 #define IME_CHOTKEY_SHAPE_TOGGLE                0x11
 #define IME_CHOTKEY_SYMBOL_TOGGLE               0x12
 
-// Windows for Japanese Edition hot key ID from 0x30 - 0x4F
+/* Windows for Japanese Edition hot key ID from 0x30 - 0x4F */
 #define IME_JHOTKEY_CLOSE_OPEN                  0x30
 
-// Windows for Korean Edition hot key ID from 0x50 - 0x6F
+/* Windows for Korean Edition hot key ID from 0x50 - 0x6F */
 #define IME_KHOTKEY_SHAPE_TOGGLE                0x50
 #define IME_KHOTKEY_HANJACONVERT                0x51
 #define IME_KHOTKEY_ENGLISH                     0x52
-// Windows for Tranditional Chinese Edition hot key ID from 0x70 - 0x8F
+/* Windows for Tranditional Chinese Edition hot key ID from 0x70 - 0x8F */
 #define IME_THOTKEY_IME_NONIME_TOGGLE           0x70
 #define IME_THOTKEY_SHAPE_TOGGLE                0x71
 #define IME_THOTKEY_SYMBOL_TOGGLE               0x72
 
-// direct switch hot key ID from 0x100 - 0x11F
+/* direct switch hot key ID from 0x100 - 0x11F */
 #define IME_HOTKEY_DSWITCH_FIRST                0x100
 #define IME_HOTKEY_DSWITCH_LAST                 0x11F
 
-// IME private hot key from 0x200 - 0x21F
+/* IME private hot key from 0x200 - 0x21F */
 #define IME_HOTKEY_PRIVATE_FIRST                0x200
 #define IME_ITHOTKEY_RESEND_RESULTSTR           0x200
 #define IME_ITHOTKEY_PREVIOUS_COMPOSITION       0x201
@@ -138,8 +140,10 @@
 #define IME_HOTKEY_PRIVATE_LAST                 0x21F
 
 
-// dwSystemInfoFlags bits
-// parameter of ImmGetCompositionString
+/*
+ * dwSystemInfoFlags bits
+ * parameter of ImmGetCompositionString
+ */
 #define GCS_COMPREADSTR                 0x0001
 #define GCS_COMPREADATTR                0x0002
 #define GCS_COMPREADCLAUSE              0x0004
@@ -153,52 +157,54 @@
 #define GCS_RESULTSTR                   0x0800
 #define GCS_RESULTCLAUSE                0x1000
 
-// style bit flags for WM_IME_COMPOSITION
+/* style bit flags for WM_IME_COMPOSITION */
 #define CS_INSERTCHAR                   0x2000
 #define CS_NOMOVECARET                  0x4000
 
 
-// bits of fdwInit of INPUTCONTEXT
-// IME version constants
+/*
+ * bits of fdwInit of INPUTCONTEXT
+ * IME version constants
+ */
 #define IMEVER_0310                     0x0003000A
 #define IMEVER_0400                     0x00040000
 
 
-// IME property bits
+/* IME property bits */
 #define IME_PROP_AT_CARET               0x00010000
 #define IME_PROP_SPECIAL_UI             0x00020000
 #define IME_PROP_CANDLIST_START_FROM_1  0x00040000
 #define IME_PROP_UNICODE                0x00080000
 
 
-// IME UICapability bits
+/* IME UICapability bits */
 #define UI_CAP_2700                     0x00000001
 #define UI_CAP_ROT90                    0x00000002
 #define UI_CAP_ROTANY                   0x00000004
-// ImmSetCompositionString Capability bits
+/* ImmSetCompositionString Capability bits */
 #define SCS_CAP_COMPSTR                 0x00000001
 #define SCS_CAP_MAKEREAD                0x00000002
 
 
-// IME WM_IME_SELECT inheritance Capability bits
+/* IME WM_IME_SELECT inheritance Capability bits */
 #define SELECT_CAP_CONVERSION           0x00000001
 #define SELECT_CAP_SENTENCE             0x00000002
 
 
-// ID for deIndex of ImmGetGuideLine
+/* ID for deIndex of ImmGetGuideLine */
 #define GGL_LEVEL                       0x00000001
 #define GGL_INDEX                       0x00000002
 #define GGL_STRING                      0x00000003
 #define GGL_PRIVATE                     0x00000004
 
-// ID for dwLevel of GUIDELINE Structure
+/* ID for dwLevel of GUIDELINE Structure */
 #define GL_LEVEL_NOGUIDELINE            0x00000000
 #define GL_LEVEL_FATAL                  0x00000001
 #define GL_LEVEL_ERROR                  0x00000002
 #define GL_LEVEL_WARNING                0x00000003
 #define GL_LEVEL_INFORMATION            0x00000004
 
-// ID for dwIndex of GUIDELINE Structure
+/* ID for dwIndex of GUIDELINE Structure */
 #define GL_ID_UNKNOWN                   0x00000000
 #define GL_ID_NOMODULE                  0x00000001
 #define GL_ID_NODICTIONARY              0x00000010
@@ -216,7 +222,7 @@
 #define GL_ID_PRIVATE_FIRST             0x00008000
 #define GL_ID_PRIVATE_LAST              0x0000FFFF
 
-// ID for dwIndex of ImmGetProperty
+/* ID for dwIndex of ImmGetProperty */
 #define IGP_GETIMEVERSION               (DWORD)(-4)
 #define IGP_PROPERTY                    0x00000004
 #define IGP_CONVERSION                  0x00000008
@@ -226,11 +232,11 @@
 #define IGP_SELECT                      0x00000018
 
 
-// dwIndex for ImmSetCompositionString API
+/* dwIndex for ImmSetCompositionString API */
 #define SCS_SETSTR          (GCS_COMPREADSTR|GCS_COMPSTR)
 #define SCS_CHANGEATTR      (GCS_COMPREADATTR|GCS_COMPATTR)
 #define SCS_CHANGECLAUSE    (GCS_COMPREADCLAUSE|GCS_COMPCLAUSE)
-// attribute for COMPOSITIONSTRING Structure
+/* attribute for COMPOSITIONSTRING Structure */
 #define ATTR_INPUT                      0x00
 #define ATTR_TARGET_CONVERTED           0x01
 #define ATTR_CONVERTED                  0x02
@@ -238,7 +244,7 @@
 #define ATTR_INPUT_ERROR                0x04
 
 
-// bit field for IMC_SETCOMPOSITIONWINDOW, IMC_SETCANDIDATEWINDOW
+/* bit field for IMC_SETCOMPOSITIONWINDOW, IMC_SETCANDIDATEWINDOW */
 #define CFS_DEFAULT                     0x0000
 #define CFS_RECT                        0x0001
 #define CFS_POINT                       0x0002
@@ -246,21 +252,21 @@
 #define CFS_CANDIDATEPOS                0x0040
 #define CFS_EXCLUDE                     0x0080
 
-// conversion direction for ImmGetConversionList
+/* conversion direction for ImmGetConversionList */
 #define GCL_CONVERSION                  0x0001
 #define GCL_REVERSECONVERSION           0x0002
 #define GCL_REVERSE_LENGTH              0x0003
 
 
-// bit field for conversion mode
+/* bit field for conversion mode */
 #define IME_CMODE_ALPHANUMERIC          0x0000
 #define IME_CMODE_NATIVE                0x0001
 #define IME_CMODE_CHINESE               IME_CMODE_NATIVE
-// IME_CMODE_HANGEUL is old name of IME_CMODE_HANGUL. It will be gone eventually.
+/* IME_CMODE_HANGEUL is old name of IME_CMODE_HANGUL. It will be gone eventually. */
 #define IME_CMODE_HANGEUL               IME_CMODE_NATIVE
 #define IME_CMODE_HANGUL                IME_CMODE_NATIVE
 #define IME_CMODE_JAPANESE              IME_CMODE_NATIVE
-#define IME_CMODE_KATAKANA              0x0002  // only effect under IME_CMODE_NATIVE
+#define IME_CMODE_KATAKANA              0x0002  /* only effect under IME_CMODE_NATIVE */
 #define IME_CMODE_LANGUAGE              0x0003
 #define IME_CMODE_FULLSHAPE             0x0008
 #define IME_CMODE_ROMAN                 0x0010
@@ -278,7 +284,7 @@
 #define IME_SMODE_AUTOMATIC             0x0004
 #define IME_SMODE_PHRASEPREDICT         0x0008
 
-// style of candidate
+/* style of candidate */
 #define IME_CAND_UNKNOWN                0x0000
 #define IME_CAND_READ                   0x0001
 #define IME_CAND_CODE                   0x0002
@@ -287,7 +293,7 @@
 #define IME_CAND_STROKE                 0x0005
 
 
-// wParam of report message WM_IME_NOTIFY
+/* wParam of report message WM_IME_NOTIFY */
 #define IMN_CLOSESTATUSWINDOW           0x0001
 #define IMN_OPENSTATUSWINDOW            0x0002
 #define IMN_CHANGECANDIDATE             0x0003
@@ -304,17 +310,17 @@
 #define IMN_PRIVATE                     0x000E
 
 
-// error code of ImmGetCompositionString
+/* error code of ImmGetCompositionString */
 #define IMM_ERROR_NODATA                (-1)
 #define IMM_ERROR_GENERAL               (-2)
 
 
-// dialog mode of ImmConfigureIME
+/* dialog mode of ImmConfigureIME */
 #define IME_CONFIG_GENERAL              1
 #define IME_CONFIG_REGISTERWORD         2
 #define IME_CONFIG_SELECTDICTIONARY     3
 
-// dialog mode of ImmEscape
+/* dialog mode of ImmEscape */
 #define IME_ESC_QUERY_SUPPORT           0x0003
 #define IME_ESC_RESERVED_FIRST          0x0004
 #define IME_ESC_RESERVED_LAST           0x07FF
@@ -331,15 +337,17 @@
 #define IME_ESC_PRIVATE_HOTKEY          0x100a
 
 
-// style of word registration
+/* style of word registration */
 #define IME_REGWORD_STYLE_EUDC          0x00000001
 #define IME_REGWORD_STYLE_USER_FIRST    0x80000000
 #define IME_REGWORD_STYLE_USER_LAST     0xFFFFFFFF
 
-// type of soft keyboard
-// for Windows Tranditional Chinese Edition
+/*
+ * type of soft keyboard
+ * for Windows Tranditional Chinese Edition
+ */
 #define SOFTKEYBOARD_TYPE_T1            0x0001
-// for Windows Simplified Chinese Edition
+/* for Windows Simplified Chinese Edition */
 #define SOFTKEYBOARD_TYPE_C1            0x0002
 
 
diff --git a/include/olectl.h b/include/olectl.h
index cda24ad..2f61581 100644
--- a/include/olectl.h
+++ b/include/olectl.h
@@ -281,10 +281,10 @@
 
 #define VT_COLOR            VT_I4
 #define VT_FONT             VT_DISPATCH
-#define VT_STREAMED_PROPSET 73  //       [P]  Stream contains a property set
-#define VT_STORED_PROPSET   74  //       [P]  Storage contains a property set
-#define VT_BLOB_PROPSET     75  //       [P]  Blob contains a property set
-#define VT_VERBOSE_ENUM     76  //       [P]  Enum value with text string
+#define VT_STREAMED_PROPSET 73  /*       [P]  Stream contains a property set */
+#define VT_STORED_PROPSET   74  /*       [P]  Storage contains a property set */
+#define VT_BLOB_PROPSET     75  /*       [P]  Blob contains a property set */
+#define VT_VERBOSE_ENUM     76  /*       [P]  Enum value with text string */
 
 #define PERPROP_E_FIRST    MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0200)
 #define PERPROP_E_LAST     MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x020F)
diff --git a/include/peexe.h b/include/peexe.h
index 8520f53..3b08591 100644
--- a/include/peexe.h
+++ b/include/peexe.h
@@ -307,8 +307,8 @@
 typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY {
 	union {
 		struct {
-			DWORD NameOffset:31;
-			DWORD NameIsString:1;
+			unsigned NameOffset:31;
+			unsigned NameIsString:1;
 		} s;
 		DWORD   Name;
 		WORD    Id;
@@ -316,8 +316,8 @@
 	union {
 		DWORD   OffsetToData;
 		struct {
-			DWORD   OffsetToDirectory:31;
-			DWORD   DataIsDirectory:1;
+			unsigned OffsetToDirectory:31;
+			unsigned DataIsDirectory:1;
 		} s;
 	} u2;
 } IMAGE_RESOURCE_DIRECTORY_ENTRY,*PIMAGE_RESOURCE_DIRECTORY_ENTRY;
diff --git a/include/shm_main_blk.h b/include/shm_main_blk.h
index 4076bcf..38317db 100644
--- a/include/shm_main_blk.h
+++ b/include/shm_main_blk.h
@@ -24,11 +24,6 @@
  *
  *****************************************************************************
  */
-#ifndef __inline__
-#ifndef __GNUC__
-#define __inline__
-#endif /* __GNUC__ */
-#endif /* __inline__ */
 
 #define DDE_HANDLES_BIT_ARRAY_SIZE (DDE_HANDLES/sizeof(int)/8)
 
diff --git a/include/sysmetrics.h b/include/sysmetrics.h
index 811e6ac..aa02378 100644
--- a/include/sysmetrics.h
+++ b/include/sysmetrics.h
@@ -44,7 +44,7 @@
 #define SYSMETRICS_CXMINTRACK       100
 #define SYSMETRICS_CYMINTRACK        28
 #endif
-#endif 0
+#endif /* 0 */
 
 /* Some non-constant system metrics */
 #define SYSMETRICS_CXSCREEN             sysMetrics[SM_CXSCREEN]             /* 0 */
diff --git a/include/tapi.h b/include/tapi.h
index a404941..a7fe1db 100644
--- a/include/tapi.h
+++ b/include/tapi.h
@@ -402,6 +402,7 @@
 typedef void (CALLBACK * LINECALLBACK)(DWORD, DWORD, DWORD, DWORD, DWORD, DWORD);
 
 typedef struct _PHONEAPP {
+  int dummy;
 } PHONEAPP, *LPPHONEAPP;
 
 typedef struct _PHONE {
diff --git a/include/vfw.h b/include/vfw.h
index 5f2e7d6..08d92e8 100644
--- a/include/vfw.h
+++ b/include/vfw.h
@@ -419,11 +419,11 @@
 	DWORD		dwScale;
 } ICDRAWBEGIN;
 
-#define ICDRAW_HURRYUP      0x80000000L   // don't draw just buffer (hurry up!)
-#define ICDRAW_UPDATE       0x40000000L   // don't draw just update screen
-#define ICDRAW_PREROLL      0x20000000L   // this frame is before real start
-#define ICDRAW_NULLFRAME    0x10000000L   // repeat last frame
-#define ICDRAW_NOTKEYFRAME  0x08000000L   // this frame is not a key frame
+#define ICDRAW_HURRYUP      0x80000000L   /* don't draw just buffer (hurry up!) */
+#define ICDRAW_UPDATE       0x40000000L   /* don't draw just update screen */
+#define ICDRAW_PREROLL      0x20000000L   /* this frame is before real start */
+#define ICDRAW_NULLFRAME    0x10000000L   /* repeat last frame */
+#define ICDRAW_NOTKEYFRAME  0x08000000L   /* this frame is not a key frame */
 
 typedef struct {
 	DWORD	dwFlags;
diff --git a/include/winbase.h b/include/winbase.h
index 2554bd9..4f6e61e 100644
--- a/include/winbase.h
+++ b/include/winbase.h
@@ -840,17 +840,17 @@
 	    BYTE	Flags2; 
 	    BYTE	BaseHi;
 	} Bytes;
-	struct {
-	    DWORD	BaseMid		: 8;
-	    DWORD	Type		: 5;
-	    DWORD	Dpl		: 2;
-	    DWORD	Pres		: 1;
-	    DWORD	LimitHi		: 4;
-	    DWORD	Sys		: 1;
-	    DWORD	Reserved_0	: 1;
-	    DWORD	Default_Big	: 1;
-	    DWORD	Granularity	: 1;
-	    DWORD	BaseHi		: 8;
+	struct {	    
+	    unsigned	BaseMid		: 8;
+	    unsigned	Type		: 5;
+	    unsigned	Dpl		: 2;
+	    unsigned	Pres		: 1;
+	    unsigned	LimitHi		: 4;
+	    unsigned	Sys		: 1;
+	    unsigned	Reserved_0	: 1;
+	    unsigned	Default_Big	: 1;
+	    unsigned	Granularity	: 1;
+	    unsigned	BaseHi		: 8;
 	} Bits;
     } HighWord;
 } LDT_ENTRY, *LPLDT_ENTRY;
@@ -1110,22 +1110,22 @@
     UINT16 CtsTimeout;
     UINT16 DsrTimeout;
 
-    UINT16 fBinary        :1;
-    UINT16 fRtsDisable    :1;
-    UINT16 fParity        :1;
-    UINT16 fOutxCtsFlow   :1;
-    UINT16 fOutxDsrFlow   :1;
-    UINT16 fDummy         :2;
-    UINT16 fDtrDisable    :1;
+    unsigned fBinary        :1;
+    unsigned fRtsDisable    :1;
+    unsigned fParity        :1;
+    unsigned fOutxCtsFlow   :1;
+    unsigned fOutxDsrFlow   :1;
+    unsigned fDummy         :2;
+    unsigned fDtrDisable    :1;
 
-    UINT16 fOutX          :1;
-    UINT16 fInX           :1;
-    UINT16 fPeChar        :1;
-    UINT16 fNull          :1;
-    UINT16 fChEvt         :1;
-    UINT16 fDtrflow       :1;
-    UINT16 fRtsflow       :1;
-    UINT16 fDummy2        :1;
+    unsigned fOutX          :1;
+    unsigned fInX           :1;
+    unsigned fPeChar        :1;
+    unsigned fNull          :1;
+    unsigned fChEvt         :1;
+    unsigned fDtrflow       :1;
+    unsigned fRtsflow       :1;
+    unsigned fDummy2        :1;
 
     CHAR   XonChar;
     CHAR   XoffChar;
@@ -1141,20 +1141,20 @@
 {
     DWORD DCBlength;
     DWORD BaudRate;
-    DWORD fBinary               :1;
-    DWORD fParity               :1;
-    DWORD fOutxCtsFlow          :1;
-    DWORD fOutxDsrFlow          :1;
-    DWORD fDtrControl           :2;
-    DWORD fDsrSensitivity       :1;
-    DWORD fTXContinueOnXoff     :1;
-    DWORD fOutX                 :1;
-    DWORD fInX                  :1;
-    DWORD fErrorChar            :1;
-    DWORD fNull                 :1;
-    DWORD fRtsControl           :2;
-    DWORD fAbortOnError         :1;
-    DWORD fDummy2               :17;
+    unsigned fBinary               :1;
+    unsigned fParity               :1;
+    unsigned fOutxCtsFlow          :1;
+    unsigned fOutxDsrFlow          :1;
+    unsigned fDtrControl           :2;
+    unsigned fDsrSensitivity       :1;
+    unsigned fTXContinueOnXoff     :1;
+    unsigned fOutX                 :1;
+    unsigned fInX                  :1;
+    unsigned fErrorChar            :1;
+    unsigned fNull                 :1;
+    unsigned fRtsControl           :2;
+    unsigned fAbortOnError         :1;
+    unsigned fDummy2               :17;
     WORD wReserved;
     WORD XonLim;
     WORD XoffLim;
diff --git a/include/wine/obj_property.h b/include/wine/obj_property.h
index f1c6de5..97c2dc8 100644
--- a/include/wine/obj_property.h
+++ b/include/wine/obj_property.h
@@ -28,7 +28,7 @@
 {
 	PROPPAGESTATUS_DIRTY = 0x1,
 	PROPPAGESTATUS_VALIDATE = 0x2,
-	PROPPAGESTATUS_CLEAN = 0x4,
+	PROPPAGESTATUS_CLEAN = 0x4
 } PROPPAGESTATUS;
 
 typedef struct tagCAUUID
diff --git a/include/winerror.h b/include/winerror.h
index 0b047a4..b26fdcd 100644
--- a/include/winerror.h
+++ b/include/winerror.h
@@ -300,7 +300,7 @@
 #define E_POINTER			0x80004003
 #define E_ABORT				0x80004004
 #define E_FAIL				0x80004005
-#define E_UNSPEC E_FAIL // must to be defined (used by FileMoniker, IOleLink and DoDragDrop as a return value)
+#define E_UNSPEC E_FAIL /* must to be defined (used by FileMoniker, IOleLink and DoDragDrop as a return value) */
 
 /*#define CO_E_INIT_TLS			0x80004006
 #define CO_E_INIT_SHARED_ALLOCATOR	0x80004007
diff --git a/include/winnls.h b/include/winnls.h
index a30acbf..f7b036e 100644
--- a/include/winnls.h
+++ b/include/winnls.h
@@ -462,7 +462,7 @@
 
 typedef BOOL (CALLBACK* CALINFO_ENUMPROCA)(LPSTR);
 typedef BOOL (CALLBACK* CALINFO_ENUMPROCW)(LPWSTR);
-DECL_WINELIB_TYPE_AW(CALINFO_ENUMPROC);
+DECL_WINELIB_TYPE_AW(CALINFO_ENUMPROC)
 
 BOOL	WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA lpCalInfoEnumProc,LCID Locale,CALID Calendar,CALTYPE CalType);
 BOOL	WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW lpCalInfoEnumProc,LCID Locale,CALID Calendar,CALTYPE CalType);
diff --git a/include/winnt.h b/include/winnt.h
index 07483b5..90e25cf 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -558,9 +558,9 @@
 
 typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE,
 	* PSECURITY_CONTEXT_TRACKING_MODE;
-//
-//	Quality of Service
-//
+/*
+ *	Quality of Service
+ */
 
 typedef struct _SECURITY_QUALITY_OF_SERVICE {
   DWORD				Length;
diff --git a/include/wtypes.h b/include/wtypes.h
index e4b620a..b3ce390 100644
--- a/include/wtypes.h
+++ b/include/wtypes.h
@@ -56,12 +56,12 @@
 #define REFCLSID            const CLSID &
 #define REFIID              const IID &
 #define REFFMTID            const FMTID &
-#else // !__cplusplus
+#else /* !defined(__cplusplus) */
 #define REFGUID             const GUID* const
 #define REFCLSID            const CLSID* const
 #define REFIID              const IID* const
 #define REFFMTID            const FMTID* const
-#endif // !__cplusplus
+#endif /* !defined(__cplusplus) */
 
 extern const IID GUID_NULL;
 #define CLSID_NULL GUID_NULL
@@ -169,7 +169,7 @@
     BYTE *pClipData;
 } CLIPDATA;
 
-// Macro to calculate the size of the above pClipData
+/* Macro to calculate the size of the above pClipData */
 #define CBPCLIPDATA(clipdata)    ( (clipdata).cbSize - sizeof((clipdata).ulClipFmt) )
 
 typedef LONG SCODE;
@@ -228,7 +228,7 @@
 #define _ROTFLAGS_DEFINED
 #define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1
 #define ROTFLAGS_ALLOWANYCLIENT 0x2
-#endif // !_ROTFLAGS_DEFINED
+#endif /* !defined(_ROTFLAGS_DEFINED) */
 
 #endif /* _SECURITY_DEFINED */
 
diff --git a/include/x11font.h b/include/x11font.h
index 718b14f..b831153 100644
--- a/include/x11font.h
+++ b/include/x11font.h
@@ -195,4 +195,4 @@
 extern XFontStruct* XFONT_GetFontStruct( X_PHYSFONT pFont );
 extern LPIFONTINFO16 XFONT_GetFontInfo( X_PHYSFONT pFont );
 
-#endif __WINE_X11FONT_H 
+#endif /* __WINE_X11FONT_H */
diff --git a/ipc/bit_array.c b/ipc/bit_array.c
index 57c93e5..2a89665 100644
--- a/ipc/bit_array.c
+++ b/ipc/bit_array.c
@@ -143,9 +143,9 @@
 {
   int ret;
 
-  __asm__("xor %1,%1
-	   btrl %2,%0
-	   adcl %1,%1"
+  __asm__("xor %1,%1\n"
+	  "btrl %2,%0\n"
+	  "adcl %1,%1\n"
 	  :"=m" (*mem), "=&r" (ret)
 	  :"r" (bit));
   return (ret);
@@ -154,9 +154,9 @@
 static __inline__ int set_bit(int bit, int *mem)
 {
   int ret;
-  __asm__("xor %1,%1
-	   btsl %2,%0
-	   adcl %1,%1"
+  __asm__("xor %1,%1\n"
+	  "btsl %2,%0\n"
+	  "adcl %1,%1\n"
 	  :"=m" (*mem), "=&r" (ret)
 	  :"r" (bit));
   return (ret);
diff --git a/misc/crtdll.c b/misc/crtdll.c
index 5ca6819..e039faf 100644
--- a/misc/crtdll.c
+++ b/misc/crtdll.c
@@ -1028,7 +1028,7 @@
 VOID __cdecl CRTDLL_longjmp(jmp_buf env, int val)
 {
     FIXME(crtdll,"CRTDLL_longjmp semistup, expect crash\n");
-    return longjmp(env, val);
+    longjmp(env, val);
 }
 
 /*********************************************************************
diff --git a/misc/winsock.c b/misc/winsock.c
index 2d55165..afc739e 100644
--- a/misc/winsock.c
+++ b/misc/winsock.c
@@ -19,7 +19,7 @@
 #ifdef HAVE_SYS_FILIO_H
 # include <sys/filio.h>
 #endif
-#if defined(__svr4__)
+#if defined(__svr4__) || defined(__sun)
 #include <sys/ioccom.h>
 #include <sys/sockio.h>
 #endif
diff --git a/multimedia/dplay.c b/multimedia/dplay.c
index 7fe4e3a..429a747 100644
--- a/multimedia/dplay.c
+++ b/multimedia/dplay.c
@@ -346,7 +346,7 @@
     return S_OK;
   }
   return directPlayLobby_QueryInterface( riid, ppvObj ); 
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobby2WImpl_QueryInterface
 ( LPDIRECTPLAYLOBBY2 iface,
@@ -369,7 +369,7 @@
 
   return directPlayLobby_QueryInterface( riid, ppvObj ); 
 
-};
+}
 
 /* 
  * Simple procedure. Just increment the reference count to this
@@ -382,14 +382,14 @@
   ++(This->ref);
   TRACE( dplay,"ref count now %lu\n", This->ref );
   return (This->ref);
-};
+}
 
 static ULONG WINAPI IDirectPlayLobby2WImpl_AddRef
 ( LPDIRECTPLAYLOBBY2 iface )
 {
   ICOM_THIS(IDirectPlayLobby2Impl,iface);
   return IDirectPlayLobby2AImpl_AddRef( (LPDIRECTPLAYLOBBY2) This );
-};
+}
 
 
 /*
@@ -417,14 +417,14 @@
   }
 
   return This->ref;
-};
+}
 
 static ULONG WINAPI IDirectPlayLobby2WImpl_Release
 ( LPDIRECTPLAYLOBBY2 iface )
 {
   ICOM_THIS(IDirectPlayLobby2Impl,iface);
   return IDirectPlayLobby2AImpl_Release( (LPDIRECTPLAYLOBBY2A) This );
-};
+}
 
 
 /********************************************************************
@@ -443,7 +443,7 @@
 {
   FIXME( dplay, ": dwFlags=%08lx %p %p stub\n", dwFlags, lplpDP, pUnk );
   return DPERR_OUTOFMEMORY;
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobby2WImpl_Connect
 ( LPDIRECTPLAYLOBBY2 iface,
@@ -510,7 +510,7 @@
 
   return DP_OK;
 
-};
+}
 
 /********************************************************************
  *
@@ -532,7 +532,7 @@
 {
   FIXME( dplay, ":stub\n");
   return DPERR_OUTOFMEMORY;
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobby2WImpl_CreateAddress
 ( LPDIRECTPLAYLOBBY2 iface,
@@ -545,7 +545,7 @@
 {
   FIXME( dplay, ":stub\n");
   return DPERR_OUTOFMEMORY;
-};
+}
 
 
 /********************************************************************
@@ -563,7 +563,7 @@
 {
   FIXME( dplay, ":stub\n");
   return DPERR_OUTOFMEMORY;
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobby2WImpl_EnumAddress
 ( LPDIRECTPLAYLOBBY2 iface,
@@ -574,7 +574,7 @@
 {
   FIXME( dplay, ":stub\n");
   return DPERR_OUTOFMEMORY;
-};
+}
 
 /********************************************************************
  *
@@ -591,7 +591,7 @@
 {
   FIXME( dplay, ":stub\n");
   return DPERR_OUTOFMEMORY;
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobby2AImpl_EnumAddressTypes
 ( LPDIRECTPLAYLOBBY2A iface,
@@ -603,7 +603,7 @@
   ICOM_THIS(IDirectPlayLobby2Impl,iface);
   return IDirectPlayLobbyAImpl_EnumAddressTypes( (LPDIRECTPLAYLOBBYA)This, lpEnumAddressTypeCallback,
                                              guidSP, lpContext, dwFlags );
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobby2WImpl_EnumAddressTypes
 ( LPDIRECTPLAYLOBBY2 iface,
@@ -614,7 +614,7 @@
 {
   FIXME( dplay, ":stub\n");
   return DPERR_OUTOFMEMORY;
-};
+}
 
 /********************************************************************
  *
@@ -630,7 +630,7 @@
 {
   FIXME( dplay, ":stub\n");
   return DPERR_OUTOFMEMORY;
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobby2WImpl_EnumLocalApplications
 ( LPDIRECTPLAYLOBBY2 iface,
@@ -641,7 +641,7 @@
   ICOM_THIS(IDirectPlayLobby2Impl,iface);
   return IDirectPlayLobbyW_EnumLocalApplications( (LPDIRECTPLAYLOBBY)This, a,
                                                   lpContext, dwFlags ); 
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobbyAImpl_EnumLocalApplications
 ( LPDIRECTPLAYLOBBYA iface,
@@ -651,7 +651,7 @@
 {
   FIXME( dplay, ":stub\n");
   return DPERR_OUTOFMEMORY;
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobby2AImpl_EnumLocalApplications
 ( LPDIRECTPLAYLOBBY2A iface,
@@ -662,7 +662,7 @@
   ICOM_THIS(IDirectPlayLobby2Impl,iface);
   return IDirectPlayLobbyAImpl_EnumLocalApplications( (LPDIRECTPLAYLOBBYA)This, a,
                                                   lpContext, dwFlags ); 
-};
+}
 
 
 /********************************************************************
@@ -801,7 +801,7 @@
   FIXME( dplay, "stub\n" );
 
   return DP_OK;
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobby2WImpl_GetConnectionSettings
 ( LPDIRECTPLAYLOBBY2 iface,
@@ -832,7 +832,7 @@
   FIXME( dplay, ":stub %p %08lx %08lx %p %p %p\n", This, dwFlags, dwAppID, lpdwMessageFlags, lpData,
          lpdwDataSize );
   return DPERR_OUTOFMEMORY;
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobby2AImpl_ReceiveLobbyMessage
 ( LPDIRECTPLAYLOBBY2A iface,
@@ -845,7 +845,7 @@
   ICOM_THIS(IDirectPlayLobby2Impl,iface);
   return IDirectPlayLobbyAImpl_ReceiveLobbyMessage( (LPDIRECTPLAYLOBBYA)This, dwFlags, dwAppID,
                                                  lpdwMessageFlags, lpData, lpdwDataSize );
-};
+}
 
 
 static HRESULT WINAPI IDirectPlayLobbyW_ReceiveLobbyMessage
@@ -860,7 +860,7 @@
   FIXME( dplay, ":stub %p %08lx %08lx %p %p %p\n", This, dwFlags, dwAppID, lpdwMessageFlags, lpData,
          lpdwDataSize );
   return DPERR_OUTOFMEMORY;
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobby2WImpl_ReceiveLobbyMessage
 ( LPDIRECTPLAYLOBBY2 iface,
@@ -873,7 +873,7 @@
   ICOM_THIS(IDirectPlayLobby2Impl,iface);
   return IDirectPlayLobbyW_ReceiveLobbyMessage( (LPDIRECTPLAYLOBBY)This, dwFlags, dwAppID,
                                                  lpdwMessageFlags, lpData, lpdwDataSize );
-};
+}
 
 /********************************************************************
  *
@@ -890,7 +890,7 @@
 {
   FIXME( dplay, ":stub\n");
   return DPERR_OUTOFMEMORY;
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobby2AImpl_RunApplication
 ( LPDIRECTPLAYLOBBY2A iface,
@@ -902,7 +902,7 @@
   ICOM_THIS(IDirectPlayLobby2Impl,iface);
   return IDirectPlayLobbyAImpl_RunApplication( (LPDIRECTPLAYLOBBYA)This, dwFlags,
                                            lpdwAppID, lpConn, hReceiveEvent );
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobbyW_RunApplication
 ( LPDIRECTPLAYLOBBY iface,
@@ -913,7 +913,7 @@
 {
   FIXME( dplay, ":stub\n");
   return DPERR_OUTOFMEMORY;
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobby2WImpl_RunApplication
 ( LPDIRECTPLAYLOBBY2 iface,
@@ -925,7 +925,7 @@
   ICOM_THIS(IDirectPlayLobby2Impl,iface);
   return IDirectPlayLobbyW_RunApplication( (LPDIRECTPLAYLOBBY)This, dwFlags,
                                            lpdwAppID, lpConn, hReceiveEvent );
-};
+}
 
 
 /********************************************************************
@@ -943,7 +943,7 @@
 {
   FIXME( dplay, ":stub\n");
   return DPERR_OUTOFMEMORY;
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobby2AImpl_SendLobbyMessage
 ( LPDIRECTPLAYLOBBY2A iface,
@@ -955,7 +955,7 @@
   ICOM_THIS(IDirectPlayLobby2Impl,iface);
   return IDirectPlayLobbyAImpl_SendLobbyMessage( (LPDIRECTPLAYLOBBYA)This, dwFlags, 
                                              dwAppID, lpData, dwDataSize ); 
-};
+}
 
 
 static HRESULT WINAPI IDirectPlayLobbyW_SendLobbyMessage
@@ -967,7 +967,7 @@
 {
   FIXME( dplay, ":stub\n");
   return DPERR_OUTOFMEMORY;
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobby2WImpl_SendLobbyMessage
 ( LPDIRECTPLAYLOBBY2 iface,
@@ -979,7 +979,7 @@
   ICOM_THIS(IDirectPlayLobby2Impl,iface);
   return IDirectPlayLobbyW_SendLobbyMessage( (LPDIRECTPLAYLOBBY)This, dwFlags,
                                               dwAppID, lpData, dwDataSize );
-};
+}
 
 /********************************************************************
  *
@@ -1075,7 +1075,7 @@
   This->dwAddressSize = lpConn->dwAddressSize;
 
   return DP_OK;
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobby2WImpl_SetConnectionSettings
 ( LPDIRECTPLAYLOBBY2 iface,
@@ -1109,7 +1109,7 @@
   ICOM_THIS(IDirectPlayLobby2Impl,iface);
   return IDirectPlayLobbyAImpl_SetConnectionSettings( (LPDIRECTPLAYLOBBYA)This,
                                                   dwFlags, dwAppID, lpConn );
-};
+}
 
 /********************************************************************
  *
@@ -1124,7 +1124,7 @@
 {
   FIXME( dplay, ":stub\n");
   return DPERR_OUTOFMEMORY;
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobby2AImpl_SetLobbyMessageEvent
 ( LPDIRECTPLAYLOBBY2A iface,
@@ -1135,7 +1135,7 @@
   ICOM_THIS(IDirectPlayLobby2Impl,iface);
   return IDirectPlayLobbyAImpl_SetLobbyMessageEvent( (LPDIRECTPLAYLOBBYA)This, dwFlags,
                                                  dwAppID, hReceiveEvent ); 
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobbyW_SetLobbyMessageEvent
 ( LPDIRECTPLAYLOBBY iface,
@@ -1145,7 +1145,7 @@
 {
   FIXME( dplay, ":stub\n");
   return DPERR_OUTOFMEMORY;
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobby2WImpl_SetLobbyMessageEvent
 ( LPDIRECTPLAYLOBBY2 iface,
@@ -1156,7 +1156,7 @@
   ICOM_THIS(IDirectPlayLobby2Impl,iface);
   return IDirectPlayLobbyW_SetLobbyMessageEvent( (LPDIRECTPLAYLOBBY)This, dwFlags,
                                                  dwAppID, hReceiveEvent ); 
-};
+}
 
 
 /********************************************************************
@@ -1173,7 +1173,7 @@
 {
   FIXME( dplay, ":stub\n");
   return DPERR_OUTOFMEMORY;
-};
+}
 
 static HRESULT WINAPI IDirectPlayLobby2AImpl_CreateCompoundAddress
 ( LPDIRECTPLAYLOBBY2A iface,
@@ -1184,11 +1184,11 @@
 {
   FIXME( dplay, ":stub\n");
   return DPERR_OUTOFMEMORY;
-};
+}
 
 
 /* Note: Hack so we can reuse the old functions without compiler warnings */
-#ifdef __GNUC__
+#if !defined(__STRICT_ANSI__) && defined(__GNUC__)
 # define XCAST(fun)     (typeof(directPlayLobbyAVT.fn##fun))
 #else
 # define XCAST(fun)     (void*)
@@ -1216,7 +1216,7 @@
 
 
 /* Note: Hack so we can reuse the old functions without compiler warnings */
-#ifdef __GNUC__
+#if !defined(__STRICT_ANSI__) && defined(__GNUC__)
 # define XCAST(fun)     (typeof(directPlayLobbyWVT.fn##fun))
 #else
 # define XCAST(fun)     (void*)
@@ -1476,7 +1476,7 @@
 
   return DP_OK;
 
-};
+}
 
 /***************************************************************************
  *  DirectPlayEnumerateW (DPLAYX.3)
@@ -1489,7 +1489,7 @@
 
   return DPERR_OUTOFMEMORY; 
 
-};
+}
 
 /***************************************************************************
  *  DirectPlayCreate (DPLAYX.1) (DPLAY.1)
@@ -1544,7 +1544,7 @@
   /* Unknown interface type */
   return DPERR_NOINTERFACE;
 
-};
+}
 
 /* Direct Play helper methods */
 
@@ -1731,7 +1731,7 @@
   }
 
   return This->ref;
-};
+}
 
 static ULONG WINAPI DirectPlay3A_Release
 ( LPDIRECTPLAY3A iface )
@@ -1753,7 +1753,7 @@
   }
 
   return This->ref;
-};
+}
 
 HRESULT WINAPI DirectPlay3A_AddPlayerToGroup
           ( LPDIRECTPLAY3A iface, DPID a, DPID b )
@@ -2467,7 +2467,7 @@
 
 
 /* Note: Hack so we can reuse the old functions without compiler warnings */
-#ifdef __GNUC__
+#if !defined(__STRICT_ANSI__) && defined(__GNUC__)
 # define XCAST(fun)     (typeof(directPlay2WVT.fn##fun))
 #else
 # define XCAST(fun)     (void*)
@@ -2511,7 +2511,7 @@
 
 
 /* Note: Hack so we can reuse the old functions without compiler warnings */
-#ifdef __GNUC__
+#if !defined(__STRICT_ANSI__) && defined(__GNUC__)
 # define XCAST(fun)     (typeof(directPlay2AVT.fn##fun))
 #else
 # define XCAST(fun)     (void*)
@@ -2655,4 +2655,3 @@
   DirectPlay3WImpl_GetPlayerAccount,
   DirectPlay3WImpl_GetPlayerFlags
 };
-
diff --git a/multimedia/dsound.c b/multimedia/dsound.c
index 267424c..71d9d5c 100644
--- a/multimedia/dsound.c
+++ b/multimedia/dsound.c
@@ -1714,14 +1714,14 @@
 /*	8-bit WAV is unsigned */
 /*	16-bit WAV is signed */
 
-static inline INT16 cvtU8toS16(BYTE byte)
+static __inline__ INT16 cvtU8toS16(BYTE byte)
 {
 	INT16	s = (byte - 128) << 8;
 
 	return s;
 }
 
-static inline BYTE cvtS16toU8(INT16 word)
+static __inline__ BYTE cvtS16toU8(INT16 word)
 {
 	BYTE	b = (word + 32768) >> 8;
 	
@@ -1732,7 +1732,7 @@
 /* We should be able to optimize these two inline functions */
 /* so that we aren't doing 8->16->8 conversions when it is */
 /* not necessary. But this is still a WIP. Optimize later. */
-static inline void get_fields(const IDirectSoundBufferImpl *dsb, BYTE *buf, INT *fl, INT *fr)
+static __inline__ void get_fields(const IDirectSoundBufferImpl *dsb, BYTE *buf, INT *fl, INT *fr)
 {
 	INT16	*bufs = (INT16 *) buf;
 
@@ -1765,7 +1765,7 @@
 	return;
 }
 
-static inline void set_fields(BYTE *buf, INT fl, INT fr)
+static __inline__ void set_fields(BYTE *buf, INT fl, INT fr)
 {
 	INT16 *bufs = (INT16 *) buf;
 
diff --git a/objects/brush.c b/objects/brush.c
index 2e53cad..279e88f 100644
--- a/objects/brush.c
+++ b/objects/brush.c
@@ -54,8 +54,14 @@
  */
 HBRUSH16 WINAPI CreateHatchBrush16( INT16 style, COLORREF color )
 {
-    LOGBRUSH logbrush = { BS_HATCHED, color, style };
+    LOGBRUSH logbrush;
+
     TRACE(gdi, "%d %06lx\n", style, color );
+
+    logbrush.lbStyle = BS_HATCHED;
+    logbrush.lbColor = color;
+    logbrush.lbHatch = style;
+
     if ((style < 0) || (style >= NB_HATCH_STYLES)) return 0;
     return CreateBrushIndirect( &logbrush );
 }
@@ -66,8 +72,14 @@
  */
 HBRUSH WINAPI CreateHatchBrush( INT style, COLORREF color )
 {
-    LOGBRUSH logbrush = { BS_HATCHED, color, style };
+    LOGBRUSH logbrush;
+
     TRACE(gdi, "%d %06lx\n", style, color );
+
+    logbrush.lbStyle = BS_HATCHED;
+    logbrush.lbColor = color;
+    logbrush.lbHatch = style;
+
     if ((style < 0) || (style >= NB_HATCH_STYLES)) return 0;
     return CreateBrushIndirect( &logbrush );
 }
@@ -103,12 +115,16 @@
  */
 HBRUSH16 WINAPI CreateDIBPatternBrush16( HGLOBAL16 hbitmap, UINT16 coloruse )
 {
-    LOGBRUSH logbrush = { BS_DIBPATTERN, coloruse, 0 };
+    LOGBRUSH logbrush;
     BITMAPINFO *info, *newInfo;
     INT size;
-    
+
     TRACE(gdi, "%04x\n", hbitmap );
 
+    logbrush.lbStyle = BS_DIBPATTERN;
+    logbrush.lbColor = coloruse;
+    logbrush.lbHatch = 0;
+  
       /* Make a copy of the bitmap */
 
     if (!(info = (BITMAPINFO *)GlobalLock16( hbitmap ))) return 0;
@@ -153,12 +169,16 @@
 		UINT coloruse 		/* Specifies color format, if provided */
 )
 {
-    LOGBRUSH logbrush = { BS_DIBPATTERN, coloruse, 0 };
+    LOGBRUSH logbrush;
     BITMAPINFO *info, *newInfo;
     INT size;
     
     TRACE(gdi, "%04x\n", hbitmap );
 
+    logbrush.lbStyle = BS_DIBPATTERN;
+    logbrush.lbColor = coloruse;
+    logbrush.lbHatch = 0;
+
       /* Make a copy of the bitmap */
 
     if (!(info = (BITMAPINFO *)GlobalLock( hbitmap ))) return 0;
@@ -236,8 +256,14 @@
  */
 HBRUSH16 WINAPI CreateSolidBrush16( COLORREF color )
 {
-    LOGBRUSH logbrush = { BS_SOLID, color, 0 };
+    LOGBRUSH logbrush;
+
     TRACE(gdi, "%06lx\n", color );
+
+    logbrush.lbStyle = BS_SOLID;
+    logbrush.lbColor = color;
+    logbrush.lbHatch = 0;
+
     return CreateBrushIndirect( &logbrush );
 }
 
@@ -247,8 +273,14 @@
  */
 HBRUSH WINAPI CreateSolidBrush( COLORREF color )
 {
-    LOGBRUSH logbrush = { BS_SOLID, color, 0 };
+    LOGBRUSH logbrush;
+
     TRACE(gdi, "%06lx\n", color );
+
+    logbrush.lbStyle = BS_SOLID;
+    logbrush.lbColor = color;
+    logbrush.lbHatch = 0;
+
     return CreateBrushIndirect( &logbrush );
 }
 
diff --git a/objects/pen.c b/objects/pen.c
index c4b1a62..18e722f 100644
--- a/objects/pen.c
+++ b/objects/pen.c
@@ -17,8 +17,15 @@
  */
 HPEN16 WINAPI CreatePen16( INT16 style, INT16 width, COLORREF color )
 {
-    LOGPEN logpen = { style, { width, 0 }, color };
+    LOGPEN logpen;
+
     TRACE(gdi, "%d %d %06lx\n", style, width, color );
+
+    logpen.lopnStyle = style; 
+    logpen.lopnWidth.x = width;
+    logpen.lopnWidth.y = 0;
+    logpen.lopnColor = color;
+
     return CreatePenIndirect( &logpen );
 }
 
@@ -28,8 +35,15 @@
  */
 HPEN WINAPI CreatePen( INT style, INT width, COLORREF color )
 {
-    LOGPEN logpen = { style, { width, 0 }, color };
+    LOGPEN logpen;
+
     TRACE(gdi, "%d %d %06lx\n", style, width, color );
+
+    logpen.lopnStyle = style; 
+    logpen.lopnWidth.x = width;
+    logpen.lopnWidth.y = 0;
+    logpen.lopnColor = color;
+
     return CreatePenIndirect( &logpen );
 }
 
diff --git a/ole/storage32.h b/ole/storage32.h
index 8228880..f8416b3 100644
--- a/ole/storage32.h
+++ b/ole/storage32.h
@@ -835,7 +835,7 @@
          SmallBlockChainStream* This);
 
 
-#endif __STORAGE32_H__
+#endif /* __STORAGE32_H__ */
 
 
 
diff --git a/scheduler/handle.c b/scheduler/handle.c
index fcc19f4..d6a3cdc 100644
--- a/scheduler/handle.c
+++ b/scheduler/handle.c
@@ -18,7 +18,9 @@
  */
 BOOL WINAPI CloseHandle( HANDLE handle )
 {
-    struct close_handle_request req = { handle };
+    struct close_handle_request req;
+    
+    req.handle = handle;
     CLIENT_SendRequest( REQ_CLOSE_HANDLE, -1, 1, &req, sizeof(req) );
     return !CLIENT_WaitReply( NULL, NULL, 0 );
 }
diff --git a/scheduler/thread.c b/scheduler/thread.c
index 87404f3..dc9f22a 100644
--- a/scheduler/thread.c
+++ b/scheduler/thread.c
@@ -813,7 +813,7 @@
 
     /* TODO: Reset the Key State */
 
-    bRet = 1;      // Success
+    bRet = 1;      /* Success */
     
 CLEANUP:
 
diff --git a/server/request.c b/server/request.c
index 01d64c5..49b9f5a 100644
--- a/server/request.c
+++ b/server/request.c
@@ -563,7 +563,9 @@
 /* set a file current position */
 DECL_HANDLER(set_file_pointer)
 {
-    struct set_file_pointer_reply reply = { req->low, req->high };
+    struct set_file_pointer_reply reply;
+    reply.low = req->low;
+    reply.high = req->high;
     set_file_pointer( req->handle, &reply.low, &reply.high, req->whence );
     send_reply( current, -1, 1, &reply, sizeof(reply) );
 }
diff --git a/windows/caret.c b/windows/caret.c
index a0b5e6b..9aaae3a 100644
--- a/windows/caret.c
+++ b/windows/caret.c
@@ -29,7 +29,7 @@
 {
     CARET_OFF = 0,
     CARET_ON,
-    CARET_TOGGLE,
+    CARET_TOGGLE
 } DISPLAY_CARET;
 
 static CARET Caret = { 0, 0, FALSE, 0, 0, 2, 12, 0, 500, 0 };
diff --git a/windows/focus.c b/windows/focus.c
index 50f792d..a0cfb57 100644
--- a/windows/focus.c
+++ b/windows/focus.c
@@ -116,8 +116,8 @@
         
         if( hwnd == hWndFocus )
         {
-            bRet = 1;      // Success
-            goto CLEANUP;  // Nothing to do
+	    bRet = 1;      /* Success */
+	    goto CLEANUP;  /* Nothing to do */
         }
         
 	/* call hooks */
@@ -151,7 +151,7 @@
         FOCUS_SwitchFocus( pCurMsgQ, hWndFocus, hwnd );
     }
 
-    bRet = 1;      // Success
+    bRet = 1;      /* Success */
     
 CLEANUP:
 
diff --git a/windows/hook.c b/windows/hook.c
index e599677..57b3ef5 100644
--- a/windows/hook.c
+++ b/windows/hook.c
@@ -585,7 +585,11 @@
       {
           LPCWPSTRUCT16   lpcwp16 = (LPCWPSTRUCT16)PTR_SEG_TO_LIN(lParam);
 	  LPCWPSTRUCT   lpcwp32 = (LPCWPSTRUCT)lParamOrig;
-	  MSGPARAM16	  mp16 = { lpcwp16->wParam, lpcwp16->lParam, 0 };
+	  MSGPARAM16	  mp16;
+
+	  mp16.wParam = lpcwp16->wParam;
+	  mp16.lParam = lpcwp16->lParam;
+	  mp16.lResult = 0;
 
           if (bA) WINPROC_UnmapMsg32ATo16( lpcwp32->hwnd,lpcwp32->message, lpcwp32->wParam,
                                            lpcwp32->lParam, &mp16 );
diff --git a/windows/mdi.c b/windows/mdi.c
index 17e8e23..291007e 100644
--- a/windows/mdi.c
+++ b/windows/mdi.c
@@ -839,7 +839,7 @@
 	return 0; 
     }
 
-     // The close button is only present in Win 95 look
+    /* The close button is only present in Win 95 look */
     if(TWEAK_WineLook > WIN31_LOOK)
     {
         AppendMenuA(frame->wIDmenu,MF_HELP | MF_BITMAP,
@@ -869,17 +869,17 @@
     if(!(iId == SC_RESTORE || iId == SC_CLOSE) )
 	return 0; 
 
-    // app button
+    /* app button */
     RemoveMenu(frameWnd->wIDmenu,0,MF_BYPOSITION);
 
     if(TWEAK_WineLook > WIN31_LOOK)
     {
-        // close
-    DeleteMenu(frameWnd->wIDmenu,GetMenuItemCount(frameWnd->wIDmenu) - 1,MF_BYPOSITION);
+        /* close */
+        DeleteMenu(frameWnd->wIDmenu,GetMenuItemCount(frameWnd->wIDmenu) - 1,MF_BYPOSITION);
     }
-    // restore
+    /* restore */
     DeleteMenu(frameWnd->wIDmenu,GetMenuItemCount(frameWnd->wIDmenu) - 1,MF_BYPOSITION);
-    // minimize
+    /* minimize */
     DeleteMenu(frameWnd->wIDmenu,GetMenuItemCount(frameWnd->wIDmenu) - 1,MF_BYPOSITION);
 
     DrawMenuBar(frameWnd->hwndSelf);
@@ -1159,7 +1159,12 @@
         if( IsWindow(ci->hwndChildMaximized) )
 	{
 	    WND*	child = WIN_FindWndPtr(ci->hwndChildMaximized);
-	    RECT	rect  = { 0, 0, LOWORD(lParam), HIWORD(lParam) };
+	    RECT	rect;
+
+	    rect.left = 0;
+	    rect.top = 0;
+	    rect.right = LOWORD(lParam);
+	    rect.bottom = HIWORD(lParam);
 
 	    AdjustWindowRectEx(&rect, child->dwStyle, 0, child->dwExStyle);
 	    MoveWindow(ci->hwndChildMaximized, rect.left, rect.top,
@@ -1938,7 +1943,7 @@
  */
 void WINAPI ScrollChildren16(HWND16 hWnd, UINT16 uMsg, WPARAM16 wParam, LPARAM lParam)
 {
-    return ScrollChildren( hWnd, uMsg, wParam, lParam );
+    ScrollChildren( hWnd, uMsg, wParam, lParam );
 }
 
 
diff --git a/windows/scroll.c b/windows/scroll.c
index 2418384..803530d 100644
--- a/windows/scroll.c
+++ b/windows/scroll.c
@@ -156,7 +156,7 @@
 	    {
 		GetRgnBox( hrgn, rcUpdate );
 
-		//Put the rcUpdate in logical coordinate
+		/* Put the rcUpdate in logical coordinate */
 		DPtoLP( hdc, (LPPOINT)rcUpdate, 2 );
 	    }
             if (!hrgnUpdate) DeleteObject( hrgn );
diff --git a/windows/x11drv/event.c b/windows/x11drv/event.c
index f4351c2..8648324 100644
--- a/windows/x11drv/event.c
+++ b/windows/x11drv/event.c
@@ -1034,8 +1034,13 @@
     winpos.flags |= SWP_NOSIZE;
   else
     {
-      RECT rect = { 0, 0, pWnd->rectWindow.right - pWnd->rectWindow.left,
-		      pWnd->rectWindow.bottom - pWnd->rectWindow.top };
+      RECT rect;
+
+      rect.left = 0;
+      rect.top = 0;
+      rect.right = pWnd->rectWindow.right - pWnd->rectWindow.left;
+      rect.bottom = pWnd->rectWindow.bottom - pWnd->rectWindow.top;
+
       DCE_InvalidateDCE( pWnd, &rect );
     }