comparison src/protocols/oscar/ft.c @ 4646:440d3d870b84

[gaim-migrate @ 4956] This is a fix for the whole "The Dude received a file but it doesn't agree with original thing." Now it agrees with the original even if it doesn't agree with the original. I should fix it. I'll do it later, cutie. I realized that I want to store a bunch of this stuff in libfaim rather than oscar. And I'm going to outsource development and try to synergize with a group of wood nymphs. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Tue, 04 Mar 2003 06:40:20 +0000
parents 3c7d4a060d30
children 4938d12f6d48
comparison
equal deleted inserted replaced
4645:8cae36606111 4646:440d3d870b84
737 * @param checksum Funky checksum of this file. 737 * @param checksum Funky checksum of this file.
738 * @param flags Any flags you want, baby. Send 0x21 when sending the 738 * @param flags Any flags you want, baby. Send 0x21 when sending the
739 * "AIM_CB_OFT_DONE" message, and "0x02" for everything else. 739 * "AIM_CB_OFT_DONE" message, and "0x02" for everything else.
740 * @return Return 0 if no errors, otherwise return the error number. 740 * @return Return 0 if no errors, otherwise return the error number.
741 */ 741 */
742 faim_export int aim_oft_sendheader(aim_session_t *sess, aim_conn_t *conn, fu16_t type, const fu8_t *cookie, const char *filename, fu16_t filesdone, fu16_t numfiles, fu32_t size, fu32_t totsize, fu32_t modtime, fu32_t checksum, fu8_t flags) 742 faim_export int aim_oft_sendheader(aim_session_t *sess, aim_conn_t *conn, fu16_t type, const fu8_t *cookie, const char *filename, fu16_t filesdone, fu16_t numfiles, fu32_t size, fu32_t totsize, fu32_t modtime, fu32_t checksum, fu8_t flags, fu32_t bytesreceived, fu32_t recvcsum)
743 { 743 {
744 aim_frame_t *newoft; 744 aim_frame_t *newoft;
745 struct aim_fileheader_t *fh; 745 struct aim_fileheader_t *fh;
746 746
747 if (!sess || !conn || (conn->type != AIM_CONN_TYPE_RENDEZVOUS) || !filename) 747 if (!sess || !conn || (conn->type != AIM_CONN_TYPE_RENDEZVOUS) || !filename)
763 fh->partsleft = 0x0001; 763 fh->partsleft = 0x0001;
764 fh->totsize = totsize; 764 fh->totsize = totsize;
765 fh->size = size; 765 fh->size = size;
766 fh->modtime = modtime; 766 fh->modtime = modtime;
767 fh->checksum = checksum; 767 fh->checksum = checksum;
768 fh->nrecvd = bytesreceived;
769 fh->recvcsum = recvcsum;
768 770
769 strncpy(fh->idstring, "OFT_Windows ICBMFT V1.1 32", sizeof(fh->idstring)); 771 strncpy(fh->idstring, "OFT_Windows ICBMFT V1.1 32", sizeof(fh->idstring));
770 fh->flags = 0x02; 772 fh->flags = flags;
771 fh->lnameoffset = 0x1a; 773 fh->lnameoffset = 0x1a;
772 fh->lsizeoffset = 0x10; 774 fh->lsizeoffset = 0x10;
773 memset(fh->dummy, 0, sizeof(fh->dummy)); 775 memset(fh->dummy, 0, sizeof(fh->dummy));
774 memset(fh->macfileinfo, 0, sizeof(fh->macfileinfo)); 776 memset(fh->macfileinfo, 0, sizeof(fh->macfileinfo));
775 777