authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-09-11 17:42:03-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-09-11 17:42:03-04:00
log1a4dcf10fecf3fed7db0573fc859718e05e93f11
tree6c862bcaf5419267cd72e0bbcff308ebfbb45fbb
parenta1132ffe0ff965ab48c160a658f11bae345bf2d2

darwin fixups


1 files changed, 19 insertions(+), 1 deletions(-)

src/os.cpp+19-1
......@@ -1657,6 +1657,14 @@ Error os_self_exe_shared_libs(ZigList<Buf *> &paths) {
16571657 paths.resize(0);
16581658 dl_iterate_phdr(self_exe_shared_libs_callback, &paths);
16591659 return ErrorNone;
1660#elif defined(ZIG_OS_DARWIN)
1661 paths.resize(0);
1662 uint32_t img_count = _dyld_image_count();
1663 for (uint32_t i = 0; i != img_count; i += 1) {
1664 const char *name = _dyld_get_image_name(i);
1665 paths.append(buf_create_from_str(name));
1666 }
1667 return ErrorNone;
16601668#else
16611669#error "unimplemented"
16621670#endif
......@@ -1750,7 +1758,7 @@ Error os_file_open_lock_rw(Buf *full_path, OsFile *out_file) {
17501758Error os_file_mtime(OsFile file, OsTimeStamp *mtime) {
17511759#if defined(ZIG_OS_WINDOWS)
17521760#error unimplemented
1753#else
1761#elif defined(ZIG_OS_LINUX)
17541762 struct stat statbuf;
17551763 if (fstat(file, &statbuf) == -1)
17561764 return ErrorFileSystem;
......@@ -1758,6 +1766,16 @@ Error os_file_mtime(OsFile file, OsTimeStamp *mtime) {
17581766 mtime->sec = statbuf.st_mtim.tv_sec;
17591767 mtime->nsec = statbuf.st_mtim.tv_nsec;
17601768 return ErrorNone;
1769#elif defined(ZIG_OS_DARWIN)
1770 struct stat statbuf;
1771 if (fstat(file, &statbuf) == -1)
1772 return ErrorFileSystem;
1773
1774 mtime->sec = statbuf.st_mtimespec.tv_sec;
1775 mtime->nsec = statbuf.st_mtimespec.tv_nsec;
1776 return ErrorNone;
1777#else
1778#error unimplemented
17611779#endif
17621780}
17631781