diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-09-02 10:15:44 +0100 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-09-02 10:15:44 +0100 |
commit | 64768d4ec0c3ad473573c3f3c34871e0081b4e59 (patch) | |
tree | 5cde705bcd282cec322da9e82c9b0e26f16387dc /protocols/msn/msn_util.c | |
parent | 02bb9db2edd535036e030e004a58ed1459c15bb8 (diff) |
Replace msn*write functions with saner versions that accept format strings.
Also preparing for additional temporary NS connections (auth token renewal).
Diffstat (limited to 'protocols/msn/msn_util.c')
-rw-r--r-- | protocols/msn/msn_util.c | 43 |
1 files changed, 9 insertions, 34 deletions
diff --git a/protocols/msn/msn_util.c b/protocols/msn/msn_util.c index 78f81a41..6a16ba17 100644 --- a/protocols/msn/msn_util.c +++ b/protocols/msn/msn_util.c @@ -29,28 +29,6 @@ #include "soap.h" #include <ctype.h> -int msn_write( struct im_connection *ic, char *s, int len ) -{ - struct msn_data *md = ic->proto_data; - int st; - - if( getenv( "BITLBEE_DEBUG" ) ) - { - write( 2, "->NS:", 5 ); - write( 2, s, len ); - } - - st = write( md->fd, s, len ); - if( st != len ) - { - imcb_error( ic, "Short write() to main server" ); - imc_logout( ic, TRUE ); - return 0; - } - - return 1; -} - int msn_logged_in( struct im_connection *ic ) { imcb_connected( ic ); @@ -75,7 +53,7 @@ static char *adlrml_entry( const char *handle_, msn_buddy_flags_t list ) int msn_buddy_list_add( struct im_connection *ic, msn_buddy_flags_t list, const char *who, const char *realname, const char *group ) { struct msn_data *md = ic->proto_data; - char buf[1024], groupid[8]; + char groupid[8]; bee_user_t *bu; struct msn_buddy_data *bd; char *adl; @@ -143,11 +121,11 @@ int msn_buddy_list_add( struct im_connection *ic, msn_buddy_flags_t list, const if( ( adl = adlrml_entry( who, list ) ) ) { - g_snprintf( buf, sizeof( buf ), "ADL %d %zd\r\n%s", - ++md->trId, strlen( adl ), adl ); + int st = msn_ns_write( ic, -1, "ADL %d %zd\r\n%s", + ++md->trId, strlen( adl ), adl ); g_free( adl ); - return msn_write( ic, buf, strlen( buf ) ); + return st; } return 1; @@ -156,7 +134,7 @@ int msn_buddy_list_add( struct im_connection *ic, msn_buddy_flags_t list, const int msn_buddy_list_remove( struct im_connection *ic, msn_buddy_flags_t list, const char *who, const char *group ) { struct msn_data *md = ic->proto_data; - char buf[1024], groupid[8]; + char groupid[8]; bee_user_t *bu; struct msn_buddy_data *bd; char *adl; @@ -188,11 +166,11 @@ int msn_buddy_list_remove( struct im_connection *ic, msn_buddy_flags_t list, con if( ( adl = adlrml_entry( who, list ) ) ) { - g_snprintf( buf, sizeof( buf ), "RML %d %zd\r\n%s", - ++md->trId, strlen( adl ), adl ); + int st = msn_ns_write( ic, -1, "RML %d %zd\r\n%s", + ++md->trId, strlen( adl ), adl ); g_free( adl ); - return msn_write( ic, buf, strlen( buf ) ); + return st; } return 1; @@ -602,14 +580,11 @@ int msn_ns_set_display_name( struct im_connection *ic, const char *value ) { struct msn_data *md = ic->proto_data; char fn[strlen(value)*3+1]; - char buf[512]; strcpy( fn, value ); http_encode( fn ); - g_snprintf( buf, sizeof( buf ), "PRP %d MFN %s\r\n", - ++md->trId, fn ); /* Note: We don't actually know if the server accepted the new name, and won't give proper feedback yet if it doesn't. */ - return msn_write( ic, buf, strlen( buf ) ); + return msn_ns_write( ic, -1, "PRP %d MFN %s\r\n", ++md->trId, fn ); } |