July 24, 2017 howto touch a file - setTimes | ||||
---|---|---|---|---|
| ||||
When I tried to set the atime and mtime of a file (f) via: import std.datetime; auto time = Clock.currTime(); setTimes(f,time,time); I get "Operation not permitted." This is caused on linux by the rule, that if you are not the owner of the file you may only set the mtime of a file to current time. A simple "touch filename" in terminal works. Any hint? Do I have to use execute("touch filename")? |
July 24, 2017 Re: howto touch a file - setTimes | ||||
---|---|---|---|---|
| ||||
Posted in reply to Martin Tschierschke | On 7/24/17 1:11 PM, Martin Tschierschke wrote: > When I tried to set the atime and mtime of a file (f) via: > > import std.datetime; > auto time = Clock.currTime(); > setTimes(f,time,time); > > I get "Operation not permitted." > > This is caused on linux by the rule, that if you are not the owner of the file > you may only set the mtime of a file to current time. > > A simple "touch filename" in terminal works. > > Any hint? Do I have to use execute("touch filename")? Hm... looking at the man page, it appears that you need to call the system call (e.g. utimes) with a null array. This isn't possible via the current API. You could call it yourself instead of executing touch. Would be a good enhancement request, please file: https://issues.dlang.org -Steve |
Copyright © 1999-2021 by the D Language Foundation