Forum OpenACS Development: Re: NaviServer on Windows: [ns_logroll] returns "Permission denied"

Thank you Frank for spotting this.
I've just uploaded version 3.3.2 of my installer/distribution that should fix it:

static int
Rename(const char *from, const char *to)
{
int err;
Tcl_Obj *fromObj, *toObj;

NS_NONNULL_ASSERT(from != NULL);
NS_NONNULL_ASSERT(to != NULL);

fromObj = Tcl_NewStringObj(from, -1);
Tcl_IncrRefCount(fromObj);

toObj = Tcl_NewStringObj(to, -1);
Tcl_IncrRefCount(toObj);

#ifdef WIN32
err != CopyFile(from, to, FALSE);
if (err == 0) {
File * fw = (FILE *)NULL;
if ((fw = fopen(from, "w")) != (FILE *)NULL) {
fprintf(fw, "");
fflush(fw);
fclose(fw);
}
}
#else
err = Tcl_FSRenameFile(fromObj, toObj);
#endif
Tcl_DecrRefCount(fromObj);
Tcl_DecrRefCount(toObj);
if (err != 0) {
Ns_Log(Error, "rollfile: failed to rename file '%s' to '%s': '%s'",
from, to, strerror(Tcl_GetErrno()));
}

return err;
}

Thank you,
Maurizio