comparison src/protocols/msn/msg.c @ 6786:8efafdc38718

[gaim-migrate @ 7325] It won't work yet, but this is part of the framework for the MSN User Display image stuff. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Sun, 07 Sep 2003 22:35:00 +0000
parents cebd49f42b56
children 8f228a7d5076
comparison
equal deleted inserted replaced
6785:eb8f949095a5 6786:8efafdc38718
188 memcpy(&msg->msnslp_header.id, tmp, 4); tmp += 4; 188 memcpy(&msg->msnslp_header.id, tmp, 4); tmp += 4;
189 memcpy(&msg->msnslp_header.offset, tmp, 4); tmp += 8; 189 memcpy(&msg->msnslp_header.offset, tmp, 4); tmp += 8;
190 memcpy(&msg->msnslp_header.total_size, tmp, 4); tmp += 8; 190 memcpy(&msg->msnslp_header.total_size, tmp, 4); tmp += 8;
191 memcpy(&msg->msnslp_header.length, tmp, 4); tmp += 4; 191 memcpy(&msg->msnslp_header.length, tmp, 4); tmp += 4;
192 memcpy(&msg->msnslp_header.flags, tmp, 4); tmp += 4; 192 memcpy(&msg->msnslp_header.flags, tmp, 4); tmp += 4;
193 memcpy(&msg->msnslp_header.prev_id, tmp, 4); tmp += 4; 193 memcpy(&msg->msnslp_header.ack_session_id, tmp, 4); tmp += 4;
194 memcpy(&msg->msnslp_header.prev_f9, tmp, 4); tmp += 4; 194 memcpy(&msg->msnslp_header.ack_unique_id, tmp, 4); tmp += 4;
195 memcpy(&msg->msnslp_header.prev_total_size, tmp, 4); tmp += 8; 195 memcpy(&msg->msnslp_header.ack_length, tmp, 4); tmp += 8;
196 196
197 /* Convert to the right endianness */ 197 /* Convert to the right endianness */
198 msg->msnslp_header.session_id = ntohs(msg->msnslp_header.session_id); 198 msg->msnslp_header.session_id = ntohl(msg->msnslp_header.session_id);
199 msg->msnslp_header.id = ntohs(msg->msnslp_header.id); 199 msg->msnslp_header.id = ntohl(msg->msnslp_header.id);
200 msg->msnslp_header.length = ntohs(msg->msnslp_header.length); 200 msg->msnslp_header.length = ntohl(msg->msnslp_header.length);
201 msg->msnslp_header.flags = ntohs(msg->msnslp_header.flags); 201 msg->msnslp_header.flags = ntohl(msg->msnslp_header.flags);
202 msg->msnslp_header.prev_id = ntohs(msg->msnslp_header.prev_id); 202 msg->msnslp_header.ack_length = ntohl(msg->msnslp_header.ack_length);
203 msg->msnslp_header.prev_f9 = ntohs(msg->msnslp_header.prev_f9); 203 msg->msnslp_header.ack_session_id =
204 ntohl(msg->msnslp_header.ack_session_id);
205 msg->msnslp_header.ack_unique_id =
206 ntohl(msg->msnslp_header.ack_unique_id);
204 207
205 /* Import the footer. */ 208 /* Import the footer. */
206 msg->msnslp_footer.app_id = (long)footer; 209 msg->msnslp_footer.app_id = (long)footer;
207 } 210 }
208 else 211 else
349 352
350 if (msg->msnslp_message) 353 if (msg->msnslp_message)
351 { 354 {
352 char *c; 355 char *c;
353 char blank[4]; 356 char blank[4];
354 int session_id, id, offset, total_size, length, flags; 357 long session_id, id, offset, total_size, length, flags;
355 int prev_id, prev_f9, prev_total_size; 358 long ack_session_id, ack_unique_id, ack_length;
356 359
357 memcpy(blank, 0, 4); 360 memcpy(blank, 0, 4);
358 361
359 c = str + strlen(str); 362 c = str + strlen(str);
360 363
361 session_id = htons(msg->msnslp_header.session_id); 364 session_id = htonl(msg->msnslp_header.session_id);
362 id = htons(msg->msnslp_header.id); 365 id = htonl(msg->msnslp_header.id);
363 offset = htons(msg->msnslp_header.offset); 366 offset = htonl(msg->msnslp_header.offset);
364 total_size = htons(msg->msnslp_header.total_size); 367 total_size = htonl(msg->msnslp_header.total_size);
365 length = htons(msg->msnslp_header.length); 368 length = htonl(msg->msnslp_header.length);
366 flags = htons(msg->msnslp_header.flags); 369 flags = htonl(msg->msnslp_header.flags);
367 prev_id = htons(msg->msnslp_header.prev_id); 370 ack_session_id = htonl(msg->msnslp_header.ack_session_id);
368 prev_f9 = htons(msg->msnslp_header.prev_f9); 371 ack_unique_id = htonl(msg->msnslp_header.ack_unique_id);
369 prev_total_size = htons(msg->msnslp_header.prev_total_size); 372 ack_length = htonl(msg->msnslp_header.ack_length);
370 373
371 memcpy(c, &session_id, 4); c += 4; 374 memcpy(c, &session_id, 4); c += 4;
372 memcpy(c, &id, 4); c += 4; 375 memcpy(c, &id, 4); c += 4;
373 memcpy(c, &offset, 4); c += 4; 376 memcpy(c, &offset, 4); c += 4;
374 memcpy(c, blank, 4); c += 4; 377 memcpy(c, blank, 4); c += 4;
375 memcpy(c, &total_size, 4); c += 4; 378 memcpy(c, &total_size, 4); c += 4;
376 memcpy(c, blank, 4); c += 4; 379 memcpy(c, blank, 4); c += 4;
377 memcpy(c, &length, 4); c += 4; 380 memcpy(c, &length, 4); c += 4;
378 memcpy(c, &flags, 4); c += 4; 381 memcpy(c, &flags, 4); c += 4;
379 memcpy(c, &prev_id, 4); c += 4; 382 memcpy(c, &ack_session_id, 4); c += 4;
380 memcpy(c, &prev_f9, 4); c += 4; 383 memcpy(c, &ack_unique_id, 4); c += 4;
381 memcpy(c, &prev_total_size, 4); c += 4; 384 memcpy(c, &ack_length, 4); c += 4;
382 memcpy(c, blank, 4); c += 4; 385 memcpy(c, blank, 4); c += 4;
383 386
384 strncpy(c, msn_message_get_body(msg), len); 387 strncpy(c, msn_message_get_body(msg), len);
385 388
386 c += strlen(msn_message_get_body(msg)); 389 c += strlen(msn_message_get_body(msg));