View Single Post
  #5  
Old 02-04-2011, 06:42 PM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

I ran into this problem as well using a 64-bit Ubuntu system.

I resolved it by changing unsigned long to unsigned int (uint32) in the following:
Client::Handle_OP_RecipeDetails()
Client::SendTradeskillDetails()

It looks to me like the packet the client is sent is constructed in part using the bit length of unsigned long. From what I understand, this is the same on both 32-bit and 64-bit Windows systems, but can be larger on some other systems.

There are plenty of other areas in the source that use unsigned long, but I haven't run across any other issues just yet. I can't wrap my head around why unsigned long is used at all instead of unsigned int for the sake of portability.

DISCLAIMER: I'm no computer scientist. I just use Google to feel my way around any given subject. Reading is fun...
Reply With Quote