Mercurial > gftp.yaz
comparison lib/protocols.c @ 46:3da7765bc439
2002-10-31 Brian Masney <masneyb@gftp.org>
* lib/protocols.c (gftp_get_next_file) - don't use g_filename_to_utf8.
If g_locale_to_utf8 fails, print out a warning to the user on the
console
author | masneyb |
---|---|
date | Fri, 01 Nov 2002 00:10:08 +0000 |
parents | 311e29c40ed6 |
children | e5f6054590b5 |
comparison
equal
deleted
inserted
replaced
45:311e29c40ed6 | 46:3da7765bc439 |
---|---|
460 FILE * fd; | 460 FILE * fd; |
461 int ret; | 461 int ret; |
462 #if GLIB_MAJOR_VERSION > 1 | 462 #if GLIB_MAJOR_VERSION > 1 |
463 gsize bread, bwrite; | 463 gsize bread, bwrite; |
464 char *tempstr; | 464 char *tempstr; |
465 GError * error; | |
465 #endif | 466 #endif |
466 | 467 |
467 g_return_val_if_fail (request != NULL, -2); | 468 g_return_val_if_fail (request != NULL, -2); |
468 | 469 |
469 if (request->get_next_file == NULL) | 470 if (request->get_next_file == NULL) |
481 ret = request->get_next_file (request, fle, fd); | 482 ret = request->get_next_file (request, fle, fd); |
482 | 483 |
483 #if GLIB_MAJOR_VERSION > 1 | 484 #if GLIB_MAJOR_VERSION > 1 |
484 if (fle->file != NULL && !g_utf8_validate (fle->file, -1, NULL)) | 485 if (fle->file != NULL && !g_utf8_validate (fle->file, -1, NULL)) |
485 { | 486 { |
487 error = NULL; | |
486 if ((tempstr = g_locale_to_utf8 (fle->file, -1, &bread, | 488 if ((tempstr = g_locale_to_utf8 (fle->file, -1, &bread, |
487 &bwrite, NULL)) != NULL) | 489 &bwrite, &error)) != NULL) |
488 { | 490 { |
489 g_free (fle->file); | 491 g_free (fle->file); |
490 fle->file = tempstr; | 492 fle->file = tempstr; |
491 } | 493 } |
492 else if ((tempstr = g_filename_to_utf8 (fle->file, -1, &bread, | 494 else |
493 &bwrite, NULL)) != NULL) | 495 g_warning ("Error when converting %s to UTF-8: %s\n", fle->file, |
494 { | 496 error->message); |
495 g_free (fle->file); | |
496 fle->file = tempstr; | |
497 } | |
498 | |
499 } | 497 } |
500 #endif | 498 #endif |
501 | 499 |
502 if (ret >= 0 && !request->cached && request->cachefd != NULL && | 500 if (ret >= 0 && !request->cached && request->cachefd != NULL && |
503 request->last_dir_entry != NULL) | 501 request->last_dir_entry != NULL) |