Hi,

	there are some places where we don't need to use alloca.

	This is one of these.

	Please note the fix in 2nd chunk (missing 'id = ').

		Michal

--- ../ruby-09-06/parse.y	Fri Sep  6 20:55:37 2002
+++ parse.y	Sat Sep  7 20:07:05 2002
@@ -5504,11 +5504,12 @@
 	last = strlen(name)-1;
 	if (name[last] == '=') {
 	    /* attribute assignment */
-	    char *buf = ALLOCA_N(char,last+1);
+	    char *buf = ALLOC_N(char,last+1);
 
 	    strncpy(buf, name, last);
 	    buf[last] = '\0';
 	    id = rb_intern(buf);
+	    free(buf);
 	    if (id > LAST_TOKEN && !is_attrset_id(id)) {
 		id = rb_id_attrset(id);
 		goto id_regist;
@@ -5559,11 +5560,12 @@
       again:
 	name = rb_id2name(id2);
 	if (name) {
-	    char *buf = ALLOCA_N(char, strlen(name)+2);
+	    char *buf = ALLOC_N(char, strlen(name)+2);
 
 	    strcpy(buf, name);
 	    strcat(buf, "=");
-	    rb_intern(buf);
+	    id = rb_intern(buf);
+	    free(buf);
 	    return rb_id2name(id);
 	}
 	if (is_local_id(id2)) {

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Michal Rokos                         Czech Technical University, Prague
E-mail:m.rokos / sh.cvut.cz      ICQ:36118339      Jabber:majkl / jabber.cz
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-