libpurple/protocols/mxit/chunk.h

changeset 37901
41e45e18f3b2
parent 35680
965839bfe169
parent 37825
1c5197a66760
--- a/libpurple/protocols/mxit/chunk.h	Fri Aug 12 21:36:10 2016 -0500
+++ b/libpurple/protocols/mxit/chunk.h	Fri Aug 19 23:03:37 2016 -0500
@@ -84,9 +84,8 @@
 
 static inline guint32 chunk_length( gchar* chunkheader )
 {
-	guint32 length;
-	memcpy(&length, &chunkheader[1], sizeof(guint32));
-	return htonl( length );
+	guint32 length = *( (const guint32*) &chunkheader[1] );
+	return ntohl( length );
 }
 
 static inline void set_chunk_length( gchar* chunkheader, guint32 size )
@@ -104,22 +103,22 @@
  * Offer File chunk (6).
  */
 struct offerfile_chunk {
-	char	fileid[MXIT_CHUNK_FILEID_LEN];
-	char	username[MXIT_CP_MAX_JID_LEN + 1];
-	int		filesize;
-	char	filename[FILENAME_MAX];
-	char	mimetype[64];
+	char			fileid[MXIT_CHUNK_FILEID_LEN];
+	char			username[MXIT_CP_MAX_JID_LEN + 1];
+	unsigned int	filesize;
+	char			filename[FILENAME_MAX];
+	char			mimetype[64];
 };
 
 /*
  * Get File chunk (8) response.
  */
 struct getfile_chunk {
-	char	fileid[MXIT_CHUNK_FILEID_LEN];
-	int		offset;
-	int		length;
-	int		crc;
-	char*	data;
+	char			fileid[MXIT_CHUNK_FILEID_LEN];
+	unsigned int	offset;
+	unsigned int	length;
+	unsigned int	crc;
+	char*			data;
 };
 
 /*
@@ -136,11 +135,11 @@
  * Splash Image chunk (2)
  */
 struct splash_chunk {
-	char	anchor;
-	char	showtime;
-	int		bgcolor;
-	char*	data;
-	int		datalen;
+	char			anchor;
+	char			showtime;
+	unsigned int	bgcolor;
+	char*			data;
+	unsigned int	datalen;
 };
 
 /*
@@ -154,40 +153,41 @@
  * Get Avatar chunk (14) response.
  */
 struct getavatar_chunk {
-	char	mxitid[50];
-	char	avatarid[64];
-	char	format[16];
-	char	bitdepth;
-	int		crc;
-	int		width;
-	int		height;
-	int		length;
-	char*	data;
+	char			mxitid[50];
+	char			avatarid[64];
+	char			format[16];
+	char			bitdepth;
+	unsigned int	crc;
+	unsigned int	width;
+	unsigned int	height;
+	unsigned int	length;
+	char*			data;
 };
 
 /*
  * Send File Direct chunk (10) response.
  */
 struct sendfile_chunk {
-	char	username[MXIT_CP_MAX_JID_LEN + 1];
-	int		status;
-	char	statusmsg[1024];
+	char			username[MXIT_CP_MAX_JID_LEN + 1];
+	unsigned int	status;
+	char			statusmsg[1024];
 };
 
 /* Encode chunk */
-int mxit_chunk_create_senddirect( char* chunkdata, const char* username, const char* filename, const unsigned char* data, int datalen );
-int mxit_chunk_create_reject( char* chunkdata, const char* fileid );
-int mxit_chunk_create_get( char* chunkdata, const char* fileid, int filesize, int offset );
-int mxit_chunk_create_received( char* chunkdata, const char* fileid, unsigned char status );
-int mxit_chunk_create_set_avatar( char* chunkdata, const unsigned char* data, int datalen );
-int mxit_chunk_create_get_avatar( char* chunkdata, const char* mxitId, const char* avatarId );
+size_t mxit_chunk_create_senddirect( char* chunkdata, const char* username, const char* filename, const unsigned char* data, size_t datalen );
+size_t mxit_chunk_create_reject( char* chunkdata, const char* fileid );
+size_t mxit_chunk_create_get( char* chunkdata, const char* fileid, size_t filesize, size_t offset );
+size_t mxit_chunk_create_received( char* chunkdata, const char* fileid, unsigned char status );
+size_t mxit_chunk_create_set_avatar( char* chunkdata, const unsigned char* data, size_t datalen );
+size_t mxit_chunk_create_get_avatar( char* chunkdata, const char* mxitId, const char* avatarId );
 
 /* Decode chunk */
-void mxit_chunk_parse_offer( char* chunkdata, int datalen, struct offerfile_chunk* offer );
-void mxit_chunk_parse_get( char* chunkdata, int datalen, struct getfile_chunk* getfile );
-void mxit_chunk_parse_cr( char* chunkdata, int datalen, struct cr_chunk* cr );
-void mxit_chunk_parse_sendfile( char* chunkdata, int datalen, struct sendfile_chunk* sendfile );
-void mxit_chunk_parse_get_avatar( char* chunkdata, int datalen, struct getavatar_chunk* avatar );
+gboolean mxit_chunk_parse_offer( char* chunkdata, size_t datalen, struct offerfile_chunk* offer );
+gboolean mxit_chunk_parse_get( char* chunkdata, size_t datalen, struct getfile_chunk* getfile );
+gboolean mxit_chunk_parse_cr( char* chunkdata, size_t datalen, struct cr_chunk* cr );
+gboolean mxit_chunk_parse_sendfile( char* chunkdata, size_t datalen, struct sendfile_chunk* sendfile );
+gboolean mxit_chunk_parse_get_avatar( char* chunkdata, size_t datalen, struct getavatar_chunk* avatar );
+gboolean mxit_chunk_parse_splash( char* chunkdata, size_t datalen, struct splash_chunk* splash );
 
 #endif		/* _MXIT_CHUNK_H_ */
 

mercurial