From: Dean Prichard Date: Sat, 23 Jan 2010 00:59:17 +0000 (-0800) Subject: 5a/6a/8a: avoid fixed-sized file name buffer X-Git-Tag: weekly.2010-01-27~54 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=07d3e0dce46ce438c7b07949d0e1725d6860e40d;p=gostls13.git 5a/6a/8a: avoid fixed-sized file name buffer R=rsc CC=golang-dev https://golang.org/cl/186279 --- diff --git a/src/cmd/5a/lex.c b/src/cmd/5a/lex.c index 44ce3bb403..540c12af59 100644 --- a/src/cmd/5a/lex.c +++ b/src/cmd/5a/lex.c @@ -139,9 +139,10 @@ main(int argc, char *argv[]) int assemble(char *file) { - char ofile[100], incfile[20], *p; + char *ofile, incfile[20], *p; int i, of; + ofile = alloc(strlen(file)+3); // +3 for .x\0 (x=thechar) strcpy(ofile, file); p = utfrrune(ofile, '/'); if(p) { diff --git a/src/cmd/6a/a.h b/src/cmd/6a/a.h index 11ace63899..f1a0453156 100644 --- a/src/cmd/6a/a.h +++ b/src/cmd/6a/a.h @@ -168,6 +168,7 @@ EXTERN char* thestring; EXTERN int32 thunk; EXTERN Biobuf obuf; +void* alloc(int32); void* allocn(void*, int32, int32); void errorexit(void); void pushio(void); diff --git a/src/cmd/6a/lex.c b/src/cmd/6a/lex.c index 7621021c4f..a1814b0805 100644 --- a/src/cmd/6a/lex.c +++ b/src/cmd/6a/lex.c @@ -139,9 +139,10 @@ main(int argc, char *argv[]) int assemble(char *file) { - char ofile[100], incfile[20], *p; + char *ofile, incfile[20], *p; int i, of; + ofile = alloc(strlen(file)+3); // +3 for .x\0 (x=thechar) strcpy(ofile, file); p = utfrrune(ofile, pathchar()); if(p) { diff --git a/src/cmd/8a/a.h b/src/cmd/8a/a.h index bf0fc77083..c019ce4d66 100644 --- a/src/cmd/8a/a.h +++ b/src/cmd/8a/a.h @@ -169,6 +169,7 @@ EXTERN char* thestring; EXTERN int32 thunk; EXTERN Biobuf obuf; +void* alloc(int32); void* allocn(void*, int32, int32); void errorexit(void); void pushio(void); diff --git a/src/cmd/8a/lex.c b/src/cmd/8a/lex.c index a426713427..a00ac49f6c 100644 --- a/src/cmd/8a/lex.c +++ b/src/cmd/8a/lex.c @@ -138,9 +138,10 @@ main(int argc, char *argv[]) int assemble(char *file) { - char ofile[100], incfile[20], *p; + char *ofile, incfile[20], *p; int i, of; + ofile = alloc(strlen(file)+3); // +3 for .x\0 (x=thechar) strcpy(ofile, file); p = utfrrune(ofile, pathchar()); if(p) {