Index: dmake/make.c =================================================================== RCS file: /cvs/tools/dmake/make.c,v retrieving revision 1.11.2.1 diff -u -r1.11.2.1 make.c --- dmake/make.c 6 Jan 2008 21:21:09 -0000 1.11.2.1 +++ dmake/make.c 21 Jan 2008 08:16:32 -0000 @@ -166,7 +166,7 @@ len=cell->len; #else /* For cygwin with .WINPATH set the lenght of the converted - * filepaths might me longer. Extra checking is needed ... */ + * filepaths might be longer. Extra checking is needed ... */ tpath = DO_WINPATH(cell->datum); if( tpath == cell->datum ) { len=cell->len; @@ -181,19 +181,21 @@ * rarely happen. */ int p_offset = p - result; /* Get more than needed. */ - slen += slen + len-slen_rest + 128; - if((result = realloc( result, (unsigned)(slen*sizeof(char)) ) ) == NULL) + slen = slen + len - slen_rest + 128; + if((result = realloc( result, slen ) ) == NULL) No_ram(); p = result + p_offset; } } - slen_rest -= len; #endif memcpy((void *)p, (void *)tpath, len); p += len; *p++ = ' '; + + slen_rest = p - result; + next = cell->next; free_cell(cell); }