Hi, I have noticed that rename in crtdll does not behave as you would expect it to do on a unix system. If the new filename already exists the function will fail. I noticed this when porting patch to mingw32. Cygwin handles this correctly. To get around it you would have to do something like this: #define rename(f,t) _ming_rename