comparison lib/protocols.c @ 45:311e29c40ed6

2002-10-31 Brian Masney <masneyb@gftp.org> * src/gtk/*.[ch] - don't check for gtk+ version based on the minor version. May cause problems later on. * lib/protocols.c src/gtk/bookmarks.c src/gtk/misc-gtk.c - use UTF8 functions for user data when using glib 2.0
author masneyb
date Thu, 31 Oct 2002 23:55:17 +0000
parents 4bcfaf6307b5
children 3da7765bc439
comparison
equal deleted inserted replaced
44:9c0825c047e7 45:311e29c40ed6
457 int 457 int
458 gftp_get_next_file (gftp_request * request, char *filespec, gftp_file * fle) 458 gftp_get_next_file (gftp_request * request, char *filespec, gftp_file * fle)
459 { 459 {
460 FILE * fd; 460 FILE * fd;
461 int ret; 461 int ret;
462 #if GLIB_MAJOR_VERSION > 1
463 gsize bread, bwrite;
464 char *tempstr;
465 #endif
462 466
463 g_return_val_if_fail (request != NULL, -2); 467 g_return_val_if_fail (request != NULL, -2);
464 468
465 if (request->get_next_file == NULL) 469 if (request->get_next_file == NULL)
466 return (-2); 470 return (-2);
473 memset (fle, 0, sizeof (*fle)); 477 memset (fle, 0, sizeof (*fle));
474 do 478 do
475 { 479 {
476 gftp_file_destroy (fle); 480 gftp_file_destroy (fle);
477 ret = request->get_next_file (request, fle, fd); 481 ret = request->get_next_file (request, fle, fd);
482
483 #if GLIB_MAJOR_VERSION > 1
484 if (fle->file != NULL && !g_utf8_validate (fle->file, -1, NULL))
485 {
486 if ((tempstr = g_locale_to_utf8 (fle->file, -1, &bread,
487 &bwrite, NULL)) != NULL)
488 {
489 g_free (fle->file);
490 fle->file = tempstr;
491 }
492 else if ((tempstr = g_filename_to_utf8 (fle->file, -1, &bread,
493 &bwrite, NULL)) != NULL)
494 {
495 g_free (fle->file);
496 fle->file = tempstr;
497 }
498
499 }
500 #endif
478 501
479 if (ret >= 0 && !request->cached && request->cachefd != NULL && 502 if (ret >= 0 && !request->cached && request->cachefd != NULL &&
480 request->last_dir_entry != NULL) 503 request->last_dir_entry != NULL)
481 { 504 {
482 fwrite (request->last_dir_entry, 1, request->last_dir_entry_len, 505 fwrite (request->last_dir_entry, 1, request->last_dir_entry_len,