Mercurial > pidgin
comparison libpurple/protocols/msn/transaction.c @ 30711:54c8aeecab4c
We need a way to send commands without transaction ID
author | masca@cpw.pidgin.im |
---|---|
date | Thu, 11 Mar 2010 17:59:53 +0000 |
parents | 6a23d7f84143 |
children | c316749944c1 |
comparison
equal
deleted
inserted
replaced
30710:f7ee91763c6b | 30711:54c8aeecab4c |
---|---|
35 | 35 |
36 trans = g_new0(MsnTransaction, 1); | 36 trans = g_new0(MsnTransaction, 1); |
37 | 37 |
38 trans->cmdproc = cmdproc; | 38 trans->cmdproc = cmdproc; |
39 trans->command = g_strdup(command); | 39 trans->command = g_strdup(command); |
40 trans->send_trId = TRUE; | |
40 | 41 |
41 if (format != NULL) | 42 if (format != NULL) |
42 { | 43 { |
43 va_start(arg, format); | 44 va_start(arg, format); |
44 trans->params = g_strdup_vprintf(format, arg); | 45 trans->params = g_strdup_vprintf(format, arg); |
94 | 95 |
95 g_return_val_if_fail(trans != NULL, FALSE); | 96 g_return_val_if_fail(trans != NULL, FALSE); |
96 | 97 |
97 if (trans->params != NULL) | 98 if (trans->params != NULL) |
98 str = g_strdup_printf("%s %u %s\r\n", trans->command, trans->trId, trans->params); | 99 str = g_strdup_printf("%s %u %s\r\n", trans->command, trans->trId, trans->params); |
100 else if (trans->send_trId) | |
101 str = g_strdup_printf("%s %u\r\n", trans->command, trans->trId); | |
99 else | 102 else |
100 str = g_strdup_printf("%s %u\r\n", trans->command, trans->trId); | 103 str = g_strdup_printf("%s\r\n", trans->command); |
101 | 104 |
102 return str; | 105 return str; |
103 } | 106 } |
104 | 107 |
105 void | 108 void |
173 g_return_if_fail(trans != NULL); | 176 g_return_if_fail(trans != NULL); |
174 trans->data_free = fn; | 177 trans->data_free = fn; |
175 } | 178 } |
176 | 179 |
177 void | 180 void |
181 msn_transaction_set_send_trId(MsnTransaction *trans, gboolean send) | |
182 { | |
183 g_return_if_fail(trans != NULL); | |
184 | |
185 trans->send_trId = send; | |
186 } | |
187 | |
188 void | |
178 msn_transaction_add_cb(MsnTransaction *trans, char *answer, | 189 msn_transaction_add_cb(MsnTransaction *trans, char *answer, |
179 MsnTransCb cb) | 190 MsnTransCb cb) |
180 { | 191 { |
181 g_return_if_fail(trans != NULL); | 192 g_return_if_fail(trans != NULL); |
182 g_return_if_fail(answer != NULL); | 193 g_return_if_fail(answer != NULL); |