Mercurial > gftp.yaz
comparison lib/rfc959.c @ 845:8263cc35c027
2006-11-2 Brian Masney <masneyb@gftp.org>
* lib/gftp.h lib/local.c lib/misc.c lib/protocols.c lib/rfc959.c
lib/sshv2.c - added gftp_filename_to_utf8() and
gftp_filename_from_utf8().
(gftp_string_from_utf8) - added argument that will force the local
encoding to be used.
author | masneyb |
---|---|
date | Fri, 03 Nov 2006 03:02:51 +0000 |
parents | 57aad6d4b304 |
children | 14858879916f |
comparison
equal
deleted
inserted
replaced
844:1ece208d1357 | 845:8263cc35c027 |
---|---|
201 size_t destlen; | 201 size_t destlen; |
202 int resp; | 202 int resp; |
203 | 203 |
204 if (argument != NULL) | 204 if (argument != NULL) |
205 { | 205 { |
206 utf8 = gftp_string_from_utf8 (request, argument, &destlen); | 206 utf8 = gftp_filename_from_utf8 (request, argument, &destlen); |
207 if (utf8 != NULL) | 207 if (utf8 != NULL) |
208 { | 208 { |
209 tempstr = g_strconcat (command, " ", utf8, "\r\n", NULL); | 209 tempstr = g_strconcat (command, " ", utf8, "\r\n", NULL); |
210 g_free (utf8); | 210 g_free (utf8); |
211 } | 211 } |
318 newstr = g_realloc (newstr, (gulong) sizeof (char) * (len + 1)); | 318 newstr = g_realloc (newstr, (gulong) sizeof (char) * (len + 1)); |
319 strcat (newstr, startpos); | 319 strcat (newstr, startpos); |
320 } | 320 } |
321 else | 321 else |
322 { | 322 { |
323 utf8 = gftp_string_from_utf8 (request, newval, &destlen); | 323 utf8 = gftp_string_from_utf8 (request, -1, newval, &destlen); |
324 if (utf8 != NULL) | 324 if (utf8 != NULL) |
325 len += strlen (utf8); | 325 len += strlen (utf8); |
326 else | 326 else |
327 len += strlen (newval); | 327 len += strlen (newval); |
328 | 328 |
389 *pos = '\0'; | 389 *pos = '\0'; |
390 | 390 |
391 if (request->directory) | 391 if (request->directory) |
392 g_free (request->directory); | 392 g_free (request->directory); |
393 | 393 |
394 utf8 = gftp_string_to_utf8 (request, dir, &destlen); | 394 utf8 = gftp_filename_to_utf8 (request, dir, &destlen); |
395 if (utf8 != NULL) | 395 if (utf8 != NULL) |
396 request->directory = utf8; | 396 request->directory = utf8; |
397 else | 397 else |
398 request->directory = g_strdup (dir); | 398 request->directory = g_strdup (dir); |
399 | 399 |
1725 | 1725 |
1726 g_return_val_if_fail (request != NULL, GFTP_EFATAL); | 1726 g_return_val_if_fail (request != NULL, GFTP_EFATAL); |
1727 g_return_val_if_fail (file != NULL, GFTP_EFATAL); | 1727 g_return_val_if_fail (file != NULL, GFTP_EFATAL); |
1728 g_return_val_if_fail (request->datafd > 0, GFTP_EFATAL); | 1728 g_return_val_if_fail (request->datafd > 0, GFTP_EFATAL); |
1729 | 1729 |
1730 utf8 = gftp_string_from_utf8 (request, file, &destlen); | 1730 utf8 = gftp_filename_from_utf8 (request, file, &destlen); |
1731 if (utf8 != NULL) | 1731 if (utf8 != NULL) |
1732 { | 1732 { |
1733 tempstr = g_strdup_printf ("SITE CHMOD %o %s\r\n", mode, utf8); | 1733 tempstr = g_strdup_printf ("SITE CHMOD %o %s\r\n", mode, utf8); |
1734 g_free (utf8); | 1734 g_free (utf8); |
1735 } | 1735 } |
1757 | 1757 |
1758 g_return_val_if_fail (request != NULL, GFTP_EFATAL); | 1758 g_return_val_if_fail (request != NULL, GFTP_EFATAL); |
1759 g_return_val_if_fail (command != NULL, GFTP_EFATAL); | 1759 g_return_val_if_fail (command != NULL, GFTP_EFATAL); |
1760 g_return_val_if_fail (request->datafd > 0, GFTP_EFATAL); | 1760 g_return_val_if_fail (request->datafd > 0, GFTP_EFATAL); |
1761 | 1761 |
1762 utf8 = gftp_string_from_utf8 (request, command, &destlen); | 1762 utf8 = gftp_string_from_utf8 (request, -1, command, &destlen); |
1763 if (utf8 != NULL) | 1763 if (utf8 != NULL) |
1764 { | 1764 { |
1765 if (specify_site) | 1765 if (specify_site) |
1766 tempstr = g_strconcat ("SITE ", utf8, "\r\n", NULL); | 1766 tempstr = g_strconcat ("SITE ", utf8, "\r\n", NULL); |
1767 else | 1767 else |