filesystem: implement os_modtime for unix

Change-Id: If030d526f29aa786b5a37402413d804752286cf5
This commit is contained in:
James Buren 2021-07-11 12:40:08 +00:00
parent 8846e087c0
commit fa743258ea
3 changed files with 14 additions and 0 deletions

View File

@ -82,6 +82,7 @@ ssize_t app_write(int fildes, const void *buf, size_t nbyte);
#endif /* HAVE_SDL_THREADS */
int app_remove(const char *path);
int app_rename(const char *old, const char *new);
#define app_modtime os_modtime
#define app_filesize os_filesize
#define app_fsamefile os_fsamefile
int app_relate(const char *path1, const char *path2);

View File

@ -33,6 +33,7 @@ void * os_lc_open(const char *ospath);
#define _FILESYSTEM_HOSTED__FILE_H_
#ifndef OSFUNCTIONS_DECLARED
int os_modtime(const char *path, time_t modtime);
off_t os_filesize(int osfd);
int os_fsamefile(int osfd1, int osfd2);
int os_relate(const char *path1, const char *path2);

View File

@ -23,6 +23,7 @@
#include <sys/stat.h>
#include <string.h>
#include <errno.h>
#include <utime.h>
#include "config.h"
#include "system.h"
#include "file.h"
@ -35,6 +36,17 @@
#define SAME_FILE_INFO(sb1p, sb2p) \
((sb1p)->st_dev == (sb2p)->st_dev && (sb1p)->st_ino == (sb2p)->st_ino)
int os_modtime(const char *path, time_t modtime)
{
struct utimbuf times =
{
.actime = modtime,
.modtime = modtime,
};
return utime(path, &times);
}
off_t os_filesize(int osfd)
{
struct stat sb;