{"action":"created","comment":{"url":"https://api.github.com/repos/mono/mono/pulls/comments/158208061","pull_request_review_id":84980373,"id":158208061,"diff_hunk":"@@ -3491,11 +3491,36 @@ mono_w32file_get_attributes_ex (const gunichar2 *name, MonoIOStat *stat)\n \t/* fill stat block */\n \n \tstat->attributes = _wapi_stat_to_file_attributes (utf8_name, &buf, &linkbuf);\n-\tstat->creation_time = (((guint64) (buf.st_mtime < buf.st_ctime ? buf.st_mtime : buf.st_ctime)) * 10 * 1000 * 1000) + 116444736000000000ULL;\n-\tstat->last_access_time = (((guint64) (buf.st_atime)) * 10 * 1000 * 1000) + 116444736000000000ULL;\n-\tstat->last_write_time = (((guint64) (buf.st_mtime)) * 10 * 1000 * 1000) + 116444736000000000ULL;\n \tstat->length = (stat->attributes & FILE_ATTRIBUTE_DIRECTORY) ? 0 : buf.st_size;\n \n+// Multiply seconds by this\n+#define SECMULT (1000*1000*10)\n+\n+// Constants to convert Unix times to the API expected by .NET and Windows\n+#define CONVERT_BASE  116444736000000000ULL\n+\n+#if HAVE_STRUCT_STAT_ST_ATIMESPEC\n+\tif (buf.st_mtimespec.tv_sec < buf.st_ctimespec.tv_sec || (buf.st_mtimespec.tv_sec == buf.st_ctimespec.tv_sec && buf.st_mtimespec.tv_nsec < buf.st_ctimespec.tv_nsec))","path":"mono/metadata/w32file-unix.c","position":16,"original_position":16,"commit_id":"50bf141ec8b8c98f0dd7f037d73f2feb1985e24a","original_commit_id":"50bf141ec8b8c98f0dd7f037d73f2feb1985e24a","user":{"login":"jaykrell","id":1635728,"avatar_url":"https://avatars1.githubusercontent.com/u/1635728?v=4","gravatar_id":"","url":"https://api.github.com/users/jaykrell","html_url":"https://github.com/jaykrell","followers_url":"https://api.github.com/users/jaykrell/followers","following_url":"https://api.github.com/users/jaykrell/following{/other_user}","gists_url":"https://api.github.com/users/jaykrell/gists{/gist_id}","starred_url":"https://api.github.com/users/jaykrell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaykrell/subscriptions","organizations_url":"https://api.github.com/users/jaykrell/orgs","repos_url":"https://api.github.com/users/jaykrell/repos","events_url":"https://api.github.com/users/jaykrell/events{/privacy}","received_events_url":"https://api.github.com/users/jaykrell/received_events","type":"User","site_admin":false},"body":"Maybe a function UnixTimeNanoSecondsToNtTime? And UnixTimeSecondsToNtTime? Or SecondsSince1980ToNtTime and NanoSecondsSince1980ToNtTime?","created_at":"2017-12-21T07:01:13Z","updated_at":"2017-12-21T07:01:13Z","html_url":"https://github.com/mono/mono/pull/6307#discussion_r158208061","pull_request_url":"https://api.github.com/repos/mono/mono/pulls/6307","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/mono/mono/pulls/comments/158208061"},"html":{"href":"https://github.com/mono/mono/pull/6307#discussion_r158208061"},"pull_request":{"href":"https://api.github.com/repos/mono/mono/pulls/6307"}}},"pull_request":{"url":"https://api.github.com/repos/mono/mono/pulls/6307","id":159515285,"html_url":"https://github.com/mono/mono/pull/6307","diff_url":"https://github.com/mono/mono/pull/6307.diff","patch_url":"https://github.com/mono/mono/pull/6307.patch","issue_url":"https://api.github.com/repos/mono/mono/issues/6307","number":6307,"state":"open","locked":false,"title":"Adds support for nanosecond resolution file information where available (Fixes: 6283)","user":{"login":"migueldeicaza","id":36863,"avatar_url":"https://avatars2.githubusercontent.com/u/36863?v=4","gravatar_id":"","url":"https://api.github.com/users/migueldeicaza","html_url":"https://github.com/migueldeicaza","followers_url":"https://api.github.com/users/migueldeicaza/followers","following_url":"https://api.github.com/users/migueldeicaza/following{/other_user}","gists_url":"https://api.github.com/users/migueldeicaza/gists{/gist_id}","starred_url":"https://api.github.com/users/migueldeicaza/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/migueldeicaza/subscriptions","organizations_url":"https://api.github.com/users/migueldeicaza/orgs","repos_url":"https://api.github.com/users/migueldeicaza/repos","events_url":"https://api.github.com/users/migueldeicaza/events{/privacy}","received_events_url":"https://api.github.com/users/migueldeicaza/received_events","type":"User","site_admin":false},"body":"This patch adds support to the runtime to use the nanosecond\r\ninformation available on Mac and Linux on `struct stat`.\r\n`stat.st_Xtimespec` strucutre on OSX, and `stat.st_Xtime` and\r\n`stat.st_Xtim.tv_nsec` pair on Linux.\r\n\r\nAdditionally, this adds support in `Mono.Posix` for MacOS nanosecond stat\r\ndata, it already had Linux support before.\r\n\r\nThis is a fix for: https://github.com/mono/mono/issues/6283","created_at":"2017-12-20T20:52:24Z","updated_at":"2017-12-21T07:01:13Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5c3b59ed9e2ed56e7a7fa2fadcbb65bad01d2817","assignee":null,"assignees":[],"requested_reviewers":[{"login":"vargaz","id":186301,"avatar_url":"https://avatars3.githubusercontent.com/u/186301?v=4","gravatar_id":"","url":"https://api.github.com/users/vargaz","html_url":"https://github.com/vargaz","followers_url":"https://api.github.com/users/vargaz/followers","following_url":"https://api.github.com/users/vargaz/following{/other_user}","gists_url":"https://api.github.com/users/vargaz/gists{/gist_id}","starred_url":"https://api.github.com/users/vargaz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vargaz/subscriptions","organizations_url":"https://api.github.com/users/vargaz/orgs","repos_url":"https://api.github.com/users/vargaz/repos","events_url":"https://api.github.com/users/vargaz/events{/privacy}","received_events_url":"https://api.github.com/users/vargaz/received_events","type":"User","site_admin":false},{"login":"marek-safar","id":250852,"avatar_url":"https://avatars1.githubusercontent.com/u/250852?v=4","gravatar_id":"","url":"https://api.github.com/users/marek-safar","html_url":"https://github.com/marek-safar","followers_url":"https://api.github.com/users/marek-safar/followers","following_url":"https://api.github.com/users/marek-safar/following{/other_user}","gists_url":"https://api.github.com/users/marek-safar/gists{/gist_id}","starred_url":"https://api.github.com/users/marek-safar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marek-safar/subscriptions","organizations_url":"https://api.github.com/users/marek-safar/orgs","repos_url":"https://api.github.com/users/marek-safar/repos","events_url":"https://api.github.com/users/marek-safar/events{/privacy}","received_events_url":"https://api.github.com/users/marek-safar/received_events","type":"User","site_admin":false},{"login":"luhenry","id":660779,"avatar_url":"https://avatars1.githubusercontent.com/u/660779?v=4","gravatar_id":"","url":"https://api.github.com/users/luhenry","html_url":"https://github.com/luhenry","followers_url":"https://api.github.com/users/luhenry/followers","following_url":"https://api.github.com/users/luhenry/following{/other_user}","gists_url":"https://api.github.com/users/luhenry/gists{/gist_id}","starred_url":"https://api.github.com/users/luhenry/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/luhenry/subscriptions","organizations_url":"https://api.github.com/users/luhenry/orgs","repos_url":"https://api.github.com/users/luhenry/repos","events_url":"https://api.github.com/users/luhenry/events{/privacy}","received_events_url":"https://api.github.com/users/luhenry/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/mono/mono/pulls/6307/commits","review_comments_url":"https://api.github.com/repos/mono/mono/pulls/6307/comments","review_comment_url":"https://api.github.com/repos/mono/mono/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mono/mono/issues/6307/comments","statuses_url":"https://api.github.com/repos/mono/mono/statuses/50bf141ec8b8c98f0dd7f037d73f2feb1985e24a","head":{"label":"migueldeicaza:file-stat-add-nanosecond-support","ref":"file-stat-add-nanosecond-support","sha":"50bf141ec8b8c98f0dd7f037d73f2feb1985e24a","user":{"login":"migueldeicaza","id":36863,"avatar_url":"https://avatars2.githubusercontent.com/u/36863?v=4","gravatar_id":"","url":"https://api.github.com/users/migueldeicaza","html_url":"https://github.com/migueldeicaza","followers_url":"https://api.github.com/users/migueldeicaza/followers","following_url":"https://api.github.com/users/migueldeicaza/following{/other_user}","gists_url":"https://api.github.com/users/migueldeicaza/gists{/gist_id}","starred_url":"https://api.github.com/users/migueldeicaza/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/migueldeicaza/subscriptions","organizations_url":"https://api.github.com/users/migueldeicaza/orgs","repos_url":"https://api.github.com/users/migueldeicaza/repos","events_url":"https://api.github.com/users/migueldeicaza/events{/privacy}","received_events_url":"https://api.github.com/users/migueldeicaza/received_events","type":"User","site_admin":false},"repo":{"id":51492322,"name":"mono","full_name":"migueldeicaza/mono","owner":{"login":"migueldeicaza","id":36863,"avatar_url":"https://avatars2.githubusercontent.com/u/36863?v=4","gravatar_id":"","url":"https://api.github.com/users/migueldeicaza","html_url":"https://github.com/migueldeicaza","followers_url":"https://api.github.com/users/migueldeicaza/followers","following_url":"https://api.github.com/users/migueldeicaza/following{/other_user}","gists_url":"https://api.github.com/users/migueldeicaza/gists{/gist_id}","starred_url":"https://api.github.com/users/migueldeicaza/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/migueldeicaza/subscriptions","organizations_url":"https://api.github.com/users/migueldeicaza/orgs","repos_url":"https://api.github.com/users/migueldeicaza/repos","events_url":"https://api.github.com/users/migueldeicaza/events{/privacy}","received_events_url":"https://api.github.com/users/migueldeicaza/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/migueldeicaza/mono","description":"Mono open source ECMA CLI, C# and .NET implementation.","fork":true,"url":"https://api.github.com/repos/migueldeicaza/mono","forks_url":"https://api.github.com/repos/migueldeicaza/mono/forks","keys_url":"https://api.github.com/repos/migueldeicaza/mono/keys{/key_id}","collaborators_url":"https://api.github.com/repos/migueldeicaza/mono/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/migueldeicaza/mono/teams","hooks_url":"https://api.github.com/repos/migueldeicaza/mono/hooks","issue_events_url":"https://api.github.com/repos/migueldeicaza/mono/issues/events{/number}","events_url":"https://api.github.com/repos/migueldeicaza/mono/events","assignees_url":"https://api.github.com/repos/migueldeicaza/mono/assignees{/user}","branches_url":"https://api.github.com/repos/migueldeicaza/mono/branches{/branch}","tags_url":"https://api.github.com/repos/migueldeicaza/mono/tags","blobs_url":"https://api.github.com/repos/migueldeicaza/mono/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/migueldeicaza/mono/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/migueldeicaza/mono/git/refs{/sha}","trees_url":"https://api.github.com/repos/migueldeicaza/mono/git/trees{/sha}","statuses_url":"https://api.github.com/repos/migueldeicaza/mono/statuses/{sha}","languages_url":"https://api.github.com/repos/migueldeicaza/mono/languages","stargazers_url":"https://api.github.com/repos/migueldeicaza/mono/stargazers","contributors_url":"https://api.github.com/repos/migueldeicaza/mono/contributors","subscribers_url":"https://api.github.com/repos/migueldeicaza/mono/subscribers","subscription_url":"https://api.github.com/repos/migueldeicaza/mono/subscription","commits_url":"https://api.github.com/repos/migueldeicaza/mono/commits{/sha}","git_commits_url":"https://api.github.com/repos/migueldeicaza/mono/git/commits{/sha}","comments_url":"https://api.github.com/repos/migueldeicaza/mono/comments{/number}","issue_comment_url":"https://api.github.com/repos/migueldeicaza/mono/issues/comments{/number}","contents_url":"https://api.github.com/repos/migueldeicaza/mono/contents/{+path}","compare_url":"https://api.github.com/repos/migueldeicaza/mono/compare/{base}...{head}","merges_url":"https://api.github.com/repos/migueldeicaza/mono/merges","archive_url":"https://api.github.com/repos/migueldeicaza/mono/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/migueldeicaza/mono/downloads","issues_url":"https://api.github.com/repos/migueldeicaza/mono/issues{/number}","pulls_url":"https://api.github.com/repos/migueldeicaza/mono/pulls{/number}","milestones_url":"https://api.github.com/repos/migueldeicaza/mono/milestones{/number}","notifications_url":"https://api.github.com/repos/migueldeicaza/mono/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/migueldeicaza/mono/labels{/name}","releases_url":"https://api.github.com/repos/migueldeicaza/mono/releases{/id}","deployments_url":"https://api.github.com/repos/migueldeicaza/mono/deployments","created_at":"2016-02-11T03:44:45Z","updated_at":"2017-11-16T05:50:08Z","pushed_at":"2017-12-20T20:51:22Z","git_url":"git://github.com/migueldeicaza/mono.git","ssh_url":"git@github.com:migueldeicaza/mono.git","clone_url":"https://github.com/migueldeicaza/mono.git","svn_url":"https://github.com/migueldeicaza/mono","homepage":"http://www.mono-project.com/","size":457489,"stargazers_count":1,"watchers_count":1,"language":"C#","has_issues":false,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":0,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"mono:master","ref":"master","sha":"93d0e9ed4d6af359aaed5e1806f05fb261329ee2","user":{"login":"mono","id":53395,"avatar_url":"https://avatars3.githubusercontent.com/u/53395?v=4","gravatar_id":"","url":"https://api.github.com/users/mono","html_url":"https://github.com/mono","followers_url":"https://api.github.com/users/mono/followers","following_url":"https://api.github.com/users/mono/following{/other_user}","gists_url":"https://api.github.com/users/mono/gists{/gist_id}","starred_url":"https://api.github.com/users/mono/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mono/subscriptions","organizations_url":"https://api.github.com/users/mono/orgs","repos_url":"https://api.github.com/users/mono/repos","events_url":"https://api.github.com/users/mono/events{/privacy}","received_events_url":"https://api.github.com/users/mono/received_events","type":"Organization","site_admin":false},"repo":{"id":791611,"name":"mono","full_name":"mono/mono","owner":{"login":"mono","id":53395,"avatar_url":"https://avatars3.githubusercontent.com/u/53395?v=4","gravatar_id":"","url":"https://api.github.com/users/mono","html_url":"https://github.com/mono","followers_url":"https://api.github.com/users/mono/followers","following_url":"https://api.github.com/users/mono/following{/other_user}","gists_url":"https://api.github.com/users/mono/gists{/gist_id}","starred_url":"https://api.github.com/users/mono/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mono/subscriptions","organizations_url":"https://api.github.com/users/mono/orgs","repos_url":"https://api.github.com/users/mono/repos","events_url":"https://api.github.com/users/mono/events{/privacy}","received_events_url":"https://api.github.com/users/mono/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mono/mono","description":"Mono open source ECMA CLI, C# and .NET implementation.","fork":false,"url":"https://api.github.com/repos/mono/mono","forks_url":"https://api.github.com/repos/mono/mono/forks","keys_url":"https://api.github.com/repos/mono/mono/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mono/mono/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mono/mono/teams","hooks_url":"https://api.github.com/repos/mono/mono/hooks","issue_events_url":"https://api.github.com/repos/mono/mono/issues/events{/number}","events_url":"https://api.github.com/repos/mono/mono/events","assignees_url":"https://api.github.com/repos/mono/mono/assignees{/user}","branches_url":"https://api.github.com/repos/mono/mono/branches{/branch}","tags_url":"https://api.github.com/repos/mono/mono/tags","blobs_url":"https://api.github.com/repos/mono/mono/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mono/mono/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mono/mono/git/refs{/sha}","trees_url":"https://api.github.com/repos/mono/mono/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mono/mono/statuses/{sha}","languages_url":"https://api.github.com/repos/mono/mono/languages","stargazers_url":"https://api.github.com/repos/mono/mono/stargazers","contributors_url":"https://api.github.com/repos/mono/mono/contributors","subscribers_url":"https://api.github.com/repos/mono/mono/subscribers","subscription_url":"https://api.github.com/repos/mono/mono/subscription","commits_url":"https://api.github.com/repos/mono/mono/commits{/sha}","git_commits_url":"https://api.github.com/repos/mono/mono/git/commits{/sha}","comments_url":"https://api.github.com/repos/mono/mono/comments{/number}","issue_comment_url":"https://api.github.com/repos/mono/mono/issues/comments{/number}","contents_url":"https://api.github.com/repos/mono/mono/contents/{+path}","compare_url":"https://api.github.com/repos/mono/mono/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mono/mono/merges","archive_url":"https://api.github.com/repos/mono/mono/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mono/mono/downloads","issues_url":"https://api.github.com/repos/mono/mono/issues{/number}","pulls_url":"https://api.github.com/repos/mono/mono/pulls{/number}","milestones_url":"https://api.github.com/repos/mono/mono/milestones{/number}","notifications_url":"https://api.github.com/repos/mono/mono/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mono/mono/labels{/name}","releases_url":"https://api.github.com/repos/mono/mono/releases{/id}","deployments_url":"https://api.github.com/repos/mono/mono/deployments","created_at":"2010-07-22T18:06:36Z","updated_at":"2017-12-21T04:25:02Z","pushed_at":"2017-12-21T00:35:45Z","git_url":"git://github.com/mono/mono.git","ssh_url":"git@github.com:mono/mono.git","clone_url":"https://github.com/mono/mono.git","svn_url":"https://github.com/mono/mono","homepage":"http://www.mono-project.com/","size":466062,"stargazers_count":6014,"watchers_count":6014,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":true,"has_pages":false,"forks_count":2750,"mirror_url":null,"archived":false,"open_issues_count":182,"license":null,"forks":2750,"open_issues":182,"watchers":6014,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mono/mono/pulls/6307"},"html":{"href":"https://github.com/mono/mono/pull/6307"},"issue":{"href":"https://api.github.com/repos/mono/mono/issues/6307"},"comments":{"href":"https://api.github.com/repos/mono/mono/issues/6307/comments"},"review_comments":{"href":"https://api.github.com/repos/mono/mono/pulls/6307/comments"},"review_comment":{"href":"https://api.github.com/repos/mono/mono/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mono/mono/pulls/6307/commits"},"statuses":{"href":"https://api.github.com/repos/mono/mono/statuses/50bf141ec8b8c98f0dd7f037d73f2feb1985e24a"}},"author_association":"OWNER"}}
{"actor":{"display_login":"jaykrell"}}