summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/cmd/ip/ftpfs/proto.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/src/cmd/ip/ftpfs/proto.c b/sys/src/cmd/ip/ftpfs/proto.c
index 0231dd7c9..14fe56ee9 100644
--- a/sys/src/cmd/ip/ftpfs/proto.c
+++ b/sys/src/cmd/ip/ftpfs/proto.c
@@ -1517,14 +1517,17 @@ fromlatin1(char *from)
{
char *p, *to;
Rune r;
+ int n;
if(os == Plan9)
return nil;
/* don't convert if we don't have to */
- for(p = from; *p; p++)
- if(*p & 0x80)
+ for(p = from; *p; p += n){
+ n = chartorune(&r, p);
+ if(r == Runeerror)
break;
+ }
if(*p == 0)
return nil;