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
Permalink
Reply