#include "ichatserv.h" void analyze_buf( char *buf, struct CPACKET *pack ) { int i = 0, len, c; len = atoi( &buf[0] ); i += strlen( buf ) + 1; c = 0; while( buf[i] && (len > 0) ) { pack->param1[c] = buf[i]; i++; len--; c++; } pack->param1[c] = '\0'; i++; c = 0; while( buf[i] && (len > 0)) { pack->param2[c] = buf[i]; i++; len--; c++; } pack->param2[c] = '\0'; i++; c = 0; while( buf[i] && (len > 0)) { pack->param3[c] = buf[i]; i++; len--; c++; } pack->param3[c] = '\0'; } /*int create_msg( char *buf, char *outbuf ) { int i = 0, len, message_len, c; len = atoi( &buf[0] ); i += strlen( buf ) + 1; while( buf[i] && (len > 0) ) { i++; len--; } i++; while( buf[i] && (len > 0)) { i++; len--; } i++; while( buf[i] && (len > 0)) { i++; len--; } i++; message_len = len; // ERROR - why 8 ? len = sprintf( &outbuf[0],"%u%cFORWARD%c", 8 + message_len, '\0', '\0'); for ( c = 0; c < message_len; c++, i++ ) { outbuf[ len + c ] = buf[i]; } return( len + message_len ); } unsigned char *find_next_packet(unsigned char *pointer, int *bufsize, int *pos ) { int len, i = 0; if ( *bufsize > 0 ) { len = atoi( pointer ); if ( *bufsize < (len + strlen( pointer ) + 1) ) return( NULL ); i += strlen( pointer ) + 1; *bufsize -= i; if ( len > *bufsize ) return( NULL ); i += len; *bufsize -= len; pointer += i; *pos += i; len = atoi( pointer ); return( pointer ); } else return ( NULL ); } */