X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FIPStack%2Fadapters.c;h=90c0b24510d3a47ac7522cc29089f49ad650a9de;hb=4c76c235551f3f936a20b17cfe727578644493f1;hp=83741dfe582441e48f9e44edd537756a1c6912f1;hpb=11dbd684e9a3d907d43d71a3145205f1a86992fb;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/IPStack/adapters.c b/KernelLand/Modules/IPStack/adapters.c index 83741dfe..90c0b245 100644 --- a/KernelLand/Modules/IPStack/adapters.c +++ b/KernelLand/Modules/IPStack/adapters.c @@ -370,13 +370,13 @@ void IPStack_SendDebugText(const char *Text) memcpy(buffer, pkt_hdr, sizeof(pkt_hdr)); memcpy(buffer + sizeof(pkt_hdr), cache, cache_len); - *(Uint16*)&buffer[14+2] = BigEndian16( sizeof(pkt_hdr)-14 + cache_len ); // IP Size - *(Uint16*)&buffer[14+10] = BigEndian16( 0 ); // IP Header - *(Uint16*)&buffer[14+20+4] = BigEndian16( 8+cache_len ); // UDP Size - *(Uint16*)&buffer[14+20+6] = BigEndian16( 0 ); // UDP Checksum - *(Uint32*)&buffer[link_checksum_ofs] = BigEndian32( 0 ); // 802.3 checksum? + ((Uint16*)buffer)[(14+2)/2] = BigEndian16( sizeof(pkt_hdr)-14 + cache_len ); // IP Size + ((Uint16*)buffer)[(14+10)/2] = BigEndian16( 0 ); // IP Header + ((Uint16*)buffer)[(14+20+4)/2] = BigEndian16( 8+cache_len ); // UDP Size + ((Uint16*)buffer)[(14+20+6)/2] = BigEndian16( 0 ); // UDP Checksum +// *(Uint32*)&buffer[link_checksum_ofs] = BigEndian32( 0 ); // 802.3 checksum? // TODO: Calculate checksums - *(Uint16*)&buffer[14+10] = BigEndian16( IPv4_Checksum(buffer+14,20) ); // IP Header + ((Uint16*)buffer)[(14+10)/2] = BigEndian16( IPv4_Checksum(buffer+14,20) ); // IP Header // Create buffer tIPStackBuffer *buf = IPStack_Buffer_CreateBuffer(1);