Fix warnings when converting between an ATOM and a HSZ.

diff --git a/dlls/user/dde/misc.c b/dlls/user/dde/misc.c
index 5791599..59f1431 100644
--- a/dlls/user/dde/misc.c
+++ b/dlls/user/dde/misc.c
@@ -42,6 +42,10 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(ddeml);
 
+/* convert between ATOM and HSZ avoiding compiler warnings */
+#define ATOM2HSZ(atom)	((HSZ)	(ULONG_PTR)(atom))
+#define HSZ2ATOM(hsz)	((ATOM)	(ULONG_PTR)(hsz))
+
 static WDML_INSTANCE*	WDML_InstanceList = NULL;
 static DWORD		WDML_MaxInstanceID = 0;  /* OK for present, have to worry about wrap-around later */
 const char		WDML_szEventClass[] = "DdeEventClass";
@@ -836,7 +840,7 @@
 {
     WCHAR nameBuffer[MAX_BUFFER_LEN];
 
-    if (GetAtomNameW((ATOM)hsz, nameBuffer, MAX_BUFFER_LEN))
+    if (GetAtomNameW(HSZ2ATOM(hsz), nameBuffer, MAX_BUFFER_LEN))
 	return GlobalAddAtomW(nameBuffer);
     WARN("HSZ 0x%x not found\n", hsz);
     return 0;
@@ -910,7 +914,7 @@
 		    pPrev->next = pCurrent->next;
 		}
 		HeapFree(GetProcessHeap(), 0, pCurrent);
-		DeleteAtom((ATOM)hsz);
+		DeleteAtom(HSZ2ATOM(hsz));
 	    }
 	    return TRUE;
 	}
@@ -985,10 +989,10 @@
     switch (codepage)
     {
     case CP_WINANSI:
-	ret = GetAtomNameA((ATOM)hsz, ptr, cchMax);
+	ret = GetAtomNameA(HSZ2ATOM(hsz), ptr, cchMax);
 	break;
     case CP_WINUNICODE:
-	ret = GetAtomNameW((ATOM)hsz, ptr, cchMax);
+	ret = GetAtomNameW(HSZ2ATOM(hsz), ptr, cchMax);
     default:
 	ERR("Unknown code page %d\n", codepage);
 	ret = 0;
@@ -1061,11 +1065,11 @@
     switch (codepage)
     {
     case CP_WINANSI:
-	hsz = (HSZ)AddAtomA(ptr);
+	hsz = ATOM2HSZ(AddAtomA(ptr));
 	TRACE("added atom %s with HSZ 0x%x, \n", debugstr_a(ptr), hsz);
 	break;
     case CP_WINUNICODE:
-	hsz = (HSZ)AddAtomW(ptr);
+	hsz = ATOM2HSZ(AddAtomW(ptr));
 	TRACE("added atom %s with HSZ 0x%x, \n", debugstr_w(ptr), hsz);
 	break;
     default:
@@ -1203,8 +1207,8 @@
     int		ret = 0;
     int		ret1, ret2;
 
-    ret1 = GetAtomNameW((ATOM)hsz1, psz1, MAX_BUFFER_LEN);
-    ret2 = GetAtomNameW((ATOM)hsz2, psz2, MAX_BUFFER_LEN);
+    ret1 = GetAtomNameW(HSZ2ATOM(hsz1), psz1, MAX_BUFFER_LEN);
+    ret2 = GetAtomNameW(HSZ2ATOM(hsz2), psz2, MAX_BUFFER_LEN);
 
     TRACE("(%x<%s> %x<%s>);\n", hsz1, debugstr_w(psz1), hsz2, debugstr_w(psz2));