$NetBSD$

--- src/icqface.cc~	2005-08-27 21:33:21.000000000 -0400
+++ src/icqface.cc	2008-08-02 16:15:47.000000000 -0400
@@ -401,7 +401,7 @@ int icqface::contextmenu(icqcontact *c) 
 
     m.scale();
     m.idle = &menuidle;
-    i = (int) m.getref(m.open()-1);
+    i = (int)(intptr_t) m.getref(m.open()-1);
     m.close();
 
     if(i) lastr = i;
@@ -450,7 +450,7 @@ int icqface::generalmenu() {
 
     if(i) {
 	lastitem = i-1;
-	r = (int) m.getref(lastitem);
+	r = (int)(intptr_t) m.getref(lastitem);
     }
 
     return r;
@@ -513,7 +513,7 @@ icqcontact *icqface::mainloop(int &actio
 	    g = 0;
 	}
 	
-	if((unsigned int) c < 100) c = 0;
+	if((uintptr_t) c < 100) c = 0;
 
 	if(i) {
 	    switch(action = extk) {
@@ -1484,7 +1484,7 @@ bool icqface::changestatus(vector<protoc
 	m.scale();
 
 	i = m.open();
-	choice = (int) m.getref(i-1);
+	choice = (int)(intptr_t) m.getref(i-1);
 
 	m.close();
     }
@@ -1539,7 +1539,7 @@ bool icqface::changestatus(vector<protoc
 	m.close();
 
 	if(r = i) {
-	    st = (imstatus) ((int) m.getref(i-1));
+	    st = (imstatus) ((int)(intptr_t) m.getref(i-1));
 	}
     }
 
@@ -2132,7 +2132,7 @@ void icqface::quickfind(verticalmenu *mu
 			    c = (icqcontact *) cm->getref(i);
 			}
 
-			if((unsigned int) c > 100) {
+			if((uintptr_t) c > 100) {
 			    string current = c->getdispnick();
 			    len = current.size();
 			    if(len > nick.size()) len = nick.size();
