| 2146 | } |
| 2147 | |
| 2148 | U32 KProcess::utimes(BString path, U32 times) { |
| 2149 | std::shared_ptr<FsNode> node = Fs::getNodeFromLocalPath(this->currentDirectory, path, true); |
| 2150 | |
| 2151 | if (!node) { |
| 2152 | return -K_ENOENT; |
| 2153 | } else { |
| 2154 | U64 lastAccessTime = 0; |
| 2155 | U32 lastAccessTimeNano = 0; |
| 2156 | U64 lastModifiedTime = 0; |
| 2157 | U32 lastModifiedTimeNano = 0; |
| 2158 | if (!times) { |
| 2159 | lastAccessTime = time(nullptr); |
| 2160 | lastModifiedTime = time(nullptr); |
| 2161 | } else { |
| 2162 | lastAccessTime = memory->readd(times); |
| 2163 | lastAccessTimeNano = memory->readd(times+4)*1000; |
| 2164 | lastModifiedTime = memory->readd(times+8); |
| 2165 | lastModifiedTimeNano = memory->readd(times+12)*1000; |
| 2166 | } |
| 2167 | return node->setTimes(lastAccessTime, lastAccessTimeNano, lastModifiedTime, lastModifiedTimeNano); |
| 2168 | } |
| 2169 | } |
| 2170 | |
| 2171 | U32 KProcess::getCurrentDirectoryFromDirFD(FD dirfd, BString& currentDirectory) { |
| 2172 | U32 result = 0; |
no test coverage detected