summaryrefslogtreecommitdiff
path: root/src/lib9
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2013-03-07 14:38:49 -0500
committerRuss Cox <rsc@golang.org>2013-03-07 14:38:49 -0500
commit61542433243bd4d6be4f4ffb12568b9be41ad688 (patch)
treeeeea83feee2711adb5bce3db7d54276a5feb78b3 /src/lib9
parent18c772bbe7d9019aa66d97ee28b4c9d7ca895db8 (diff)
downloadgo-61542433243bd4d6be4f4ffb12568b9be41ad688.tar.gz
lib9: fix windows build (don't use runesmprint)
TBR=golang-dev CC=golang-dev https://codereview.appspot.com/7575046
Diffstat (limited to 'src/lib9')
-rw-r--r--src/lib9/tempdir_windows.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/lib9/tempdir_windows.c b/src/lib9/tempdir_windows.c
index 8e9322dc8..1a530059a 100644
--- a/src/lib9/tempdir_windows.c
+++ b/src/lib9/tempdir_windows.c
@@ -30,18 +30,16 @@ WinRune*
torune(char *p)
{
int i, n;
- Rune *r1;
+ Rune rr;
WinRune *r;
- r1 = runesmprint("%s", p);
- n = 0;
- while(r1[n] != '\0')
- n++;
- n++;
- r = malloc(n*sizeof r[0]);
- for(i=0; i<n; i++)
- r[i] = r1[i];
- free(r1);
+ n = utflen(p);
+ r = malloc((n+1)*sizeof r[0]);
+ for(i=0; i<n; i++) {
+ p += chartorune(&rr, p);
+ r[i] = rr;
+ }
+ r[n] = '\0';
return r;
}