Ignore:
Timestamp:
2010-08-14T19:57:13Z (14 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
4fc95c5
Parents:
193dc74
Message:

Separate boilerplate and body of abservice SOAP requests since the former's
the same all the time (and I have to add some more request types).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/msn/soap.c

    r193dc74 r6ddb223  
    145145                g_free( soap_req );
    146146        }
     147}
     148
     149static char *msn_soap_abservice_build( const char *body_fmt, const char *scenario, const char *ticket, ... )
     150{
     151        va_list params;
     152        char *ret, *format, *body;
     153       
     154        format = g_markup_printf_escaped( SOAP_ABSERVICE_PAYLOAD, scenario, ticket );
     155       
     156        va_start( params, ticket );
     157        body = g_strdup_vprintf( body_fmt, params );
     158        va_end( params );
     159       
     160        ret = g_strdup_printf( format, body );
     161        g_free( body );
     162        g_free( format );
     163       
     164        return ret;
    147165}
    148166
     
    445463        soap_req->url = g_strdup( SOAP_MEMLIST_URL );
    446464        soap_req->action = g_strdup( SOAP_MEMLIST_ACTION );
    447         soap_req->payload = g_markup_printf_escaped( SOAP_MEMLIST_PAYLOAD, md->tokens[1] );
     465        soap_req->payload = msn_soap_abservice_build( SOAP_MEMLIST_PAYLOAD, "Initial", md->tokens[1] );
    448466       
    449467        return 1;
     
    562580                break;
    563581        }
    564         soap_req->payload = g_markup_printf_escaped( SOAP_MEMLIST_EDIT_PAYLOAD,
     582        soap_req->payload = msn_soap_abservice_build( SOAP_MEMLIST_EDIT_PAYLOAD,
    565583                scenario, md->tokens[1], add, list, med->handle, add );
    566584       
     
    607625        soap_req->url = g_strdup( SOAP_ADDRESSBOOK_URL );
    608626        soap_req->action = g_strdup( SOAP_ADDRESSBOOK_ACTION );
    609         soap_req->payload = g_markup_printf_escaped( SOAP_ADDRESSBOOK_PAYLOAD, md->tokens[1] );
     627        soap_req->payload = msn_soap_abservice_build( SOAP_ADDRESSBOOK_PAYLOAD, "Initial", md->tokens[1] );
    610628       
    611629        return 1;
     
    706724        soap_req->url = g_strdup( SOAP_ADDRESSBOOK_URL );
    707725        soap_req->action = g_strdup( SOAP_AB_NAMECHANGE_ACTION );
    708         soap_req->payload = g_markup_printf_escaped( SOAP_AB_NAMECHANGE_PAYLOAD,
    709                 md->tokens[1], (char *) soap_req->data );
     726        soap_req->payload = msn_soap_abservice_build( SOAP_AB_NAMECHANGE_PAYLOAD,
     727                "Initial", md->tokens[1], (char *) soap_req->data );
    710728       
    711729        return 1;
Note: See TracChangeset for help on using the changeset viewer.