Mercurial > pidgin
comparison src/core.c @ 4817:b4ca2cc6bed9
[gaim-migrate @ 5141]
<LSchiere> Paco-Paco: commit message?
<Paco-Paco> I forget
<Paco-Paco> let me look
<Paco-Paco> initialize GError pointers properly
committer: Tailor Script <tailor@pidgin.im>
| author | Luke Schierer <lschiere@pidgin.im> |
|---|---|
| date | Tue, 18 Mar 2003 03:03:58 +0000 |
| parents | 4af15fbcb00a |
| children | fefad67de2c7 |
comparison
equal
deleted
inserted
replaced
| 4816:94e75b03c598 | 4817:b4ca2cc6bed9 |
|---|---|
| 94 return buffer; | 94 return buffer; |
| 95 } | 95 } |
| 96 | 96 |
| 97 gint UI_write(struct UI *ui, guchar *data, gint len) | 97 gint UI_write(struct UI *ui, guchar *data, gint len) |
| 98 { | 98 { |
| 99 GError *error; | 99 GError *error = NULL; |
| 100 gint sent; | 100 gint sent; |
| 101 /* we'll let the write silently fail because the read will pick it up as dead */ | 101 /* we'll let the write silently fail because the read will pick it up as dead */ |
| 102 g_io_channel_write_chars(ui->channel, data, len, &sent, &error); | 102 g_io_channel_write_chars(ui->channel, data, len, &sent, &error); |
| 103 g_error_free(error); | 103 if (error) |
| 104 g_error_free(error); | |
| 104 return sent; | 105 return sent; |
| 105 } | 106 } |
| 106 | 107 |
| 107 void UI_build_write(struct UI *ui, guchar type, guchar subtype, ...) | 108 void UI_build_write(struct UI *ui, guchar type, guchar subtype, ...) |
| 108 { | 109 { |
| 300 | 301 |
| 301 GError *error = NULL; | 302 GError *error = NULL; |
| 302 | 303 |
| 303 while (total < len) { | 304 while (total < len) { |
| 304 if (g_io_channel_read_chars(source, buf + total, len - total, &cur, &error) != G_IO_STATUS_NORMAL) { | 305 if (g_io_channel_read_chars(source, buf + total, len - total, &cur, &error) != G_IO_STATUS_NORMAL) { |
| 305 g_error_free(error); | 306 if (error) |
| 307 g_error_free(error); | |
| 306 return -1; | 308 return -1; |
| 307 } | 309 } |
| 308 if (cur == 0) | 310 if (cur == 0) |
| 309 return total; | 311 return total; |
| 310 total += cur; | 312 total += cur; |
| 340 | 342 |
| 341 guchar type; | 343 guchar type; |
| 342 guchar subtype; | 344 guchar subtype; |
| 343 guint32 len; | 345 guint32 len; |
| 344 | 346 |
| 345 GError *error; | 347 GError *error = NULL; |
| 346 | 348 |
| 347 guchar *in; | 349 guchar *in; |
| 348 | 350 |
| 349 /* no byte order worries! this'll change if we go to TCP */ | 351 /* no byte order worries! this'll change if we go to TCP */ |
| 350 if (gaim_recv(source, &type, sizeof(type)) != sizeof(type)) { | 352 if (gaim_recv(source, &type, sizeof(type)) != sizeof(type)) { |
| 351 debug_printf("UI has abandoned us!\n"); | 353 debug_printf("UI has abandoned us!\n"); |
| 352 uis = g_slist_remove(uis, ui); | 354 uis = g_slist_remove(uis, ui); |
| 353 g_io_channel_shutdown(ui->channel, TRUE, &error); | 355 g_io_channel_shutdown(ui->channel, TRUE, &error); |
| 354 if(error) | 356 if(error) { |
| 355 g_error_free(error); | 357 g_error_free(error); |
| 358 error = NULL; | |
| 359 } | |
| 356 g_source_remove(ui->inpa); | 360 g_source_remove(ui->inpa); |
| 357 g_free(ui); | 361 g_free(ui); |
| 358 return FALSE; | 362 return FALSE; |
| 359 } | 363 } |
| 360 | 364 |
| 361 if (gaim_recv(source, &subtype, sizeof(subtype)) != sizeof(subtype)) { | 365 if (gaim_recv(source, &subtype, sizeof(subtype)) != sizeof(subtype)) { |
| 362 debug_printf("UI has abandoned us!\n"); | 366 debug_printf("UI has abandoned us!\n"); |
| 363 uis = g_slist_remove(uis, ui); | 367 uis = g_slist_remove(uis, ui); |
| 364 g_io_channel_shutdown(ui->channel, TRUE, &error); | 368 g_io_channel_shutdown(ui->channel, TRUE, &error); |
| 365 if(error) | 369 if(error) { |
| 366 g_error_free(error); | 370 g_error_free(error); |
| 371 error = NULL; | |
| 372 } | |
| 367 g_source_remove(ui->inpa); | 373 g_source_remove(ui->inpa); |
| 368 g_free(ui); | 374 g_free(ui); |
| 369 return FALSE; | 375 return FALSE; |
| 370 } | 376 } |
| 371 | 377 |
| 372 if (gaim_recv(source, (guchar *)&len, sizeof(len)) != sizeof(len)) { | 378 if (gaim_recv(source, (guchar *)&len, sizeof(len)) != sizeof(len)) { |
| 373 debug_printf("UI has abandoned us!\n"); | 379 debug_printf("UI has abandoned us!\n"); |
| 374 uis = g_slist_remove(uis, ui); | 380 uis = g_slist_remove(uis, ui); |
| 375 g_io_channel_shutdown(ui->channel, TRUE, &error); | 381 g_io_channel_shutdown(ui->channel, TRUE, &error); |
| 376 if(error) | 382 if(error) { |
| 377 g_error_free(error); | 383 g_error_free(error); |
| 384 error = NULL; | |
| 385 } | |
| 378 g_source_remove(ui->inpa); | 386 g_source_remove(ui->inpa); |
| 379 g_free(ui); | 387 g_free(ui); |
| 380 return FALSE; | 388 return FALSE; |
| 381 } | 389 } |
| 382 | 390 |
| 384 in = g_new0(guchar, len); | 392 in = g_new0(guchar, len); |
| 385 if (gaim_recv(source, in, len) != len) { | 393 if (gaim_recv(source, in, len) != len) { |
| 386 debug_printf("UI has abandoned us!\n"); | 394 debug_printf("UI has abandoned us!\n"); |
| 387 uis = g_slist_remove(uis, ui); | 395 uis = g_slist_remove(uis, ui); |
| 388 g_io_channel_shutdown(ui->channel, TRUE, &error); | 396 g_io_channel_shutdown(ui->channel, TRUE, &error); |
| 389 if(error) | 397 if(error) { |
| 390 g_error_free(error); | 398 g_error_free(error); |
| 399 error = NULL; | |
| 400 } | |
| 391 g_source_remove(ui->inpa); | 401 g_source_remove(ui->inpa); |
| 392 g_free(ui); | 402 g_free(ui); |
| 393 return FALSE; | 403 return FALSE; |
| 394 } | 404 } |
| 395 } else | 405 } else |
