Commit 7263bfc7 authored by Russ Cox's avatar Russ Cox

cc: correct handling of leading ·

R=ken2
CC=golang-dev
https://golang.org/cl/193081
parent 531e6b77
......@@ -196,7 +196,8 @@ compile(char *file, char **defs, int ndef)
int i, c, fd[2];
static int first = 1;
ofile = strdup(file);
ofile = alloc(strlen(file)+10);
strcpy(ofile, file);
p = utfrrune(ofile, pathchar());
if(p) {
*p++ = 0;
......@@ -405,9 +406,9 @@ lookup(void)
int c, n;
char *r, *w;
if(symb[0] == 0xc2 && symb[1] == 0xb7) {
if((uchar)symb[0] == 0xc2 && (uchar)symb[1] == 0xb7) {
// turn leading · into ""·
memmove(symb+2, symb, w-symb);
memmove(symb+2, symb, strlen(symb)+1);
symb[0] = '"';
symb[1] = '"';
}
......
......@@ -223,6 +223,13 @@ lookup(void)
int c, l;
char *r, *w;
if((uchar)symb[0] == 0xc2 && (uchar)symb[1] == 0xb7) {
// turn leading · into ""·
memmove(symb+2, symb, strlen(symb)+1);
symb[0] = '"';
symb[1] = '"';
}
// turn · into .
for(r=w=symb; *r; r++) {
if((uchar)*r == 0xc2 && (uchar)*(r+1) == 0xb7) {
......@@ -232,12 +239,6 @@ lookup(void)
*w++ = *r;
}
*w++ = '\0';
if(symb[0] == '.') {
// turn leading . into "".
memmove(symb+2, symb, w-symb);
symb[0] = '"';
symb[1] = '"';
}
h = 0;
for(p=symb; c = *p; p++)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment