aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/msn/msn_util.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-09-02 10:15:44 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2010-09-02 10:15:44 +0100
commit64768d4ec0c3ad473573c3f3c34871e0081b4e59 (patch)
tree5cde705bcd282cec322da9e82c9b0e26f16387dc /protocols/msn/msn_util.c
parent02bb9db2edd535036e030e004a58ed1459c15bb8 (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.c43
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 );
}