History

win: include dirs: add some docs, minor refactor

Avi Halachmi (:avih) committed 11 years ago

Commit 951c23f1 parent 37e815e1 file · +18 −4Browse files

Unified · Split

libtcc.c+18−4
@@ -1510,6 +1510,20 @@ LIBTCCAPI int tcc_add_symbol(TCCState *s, const char *name, const void *val) · 1509 unmodified lines
1510}1510}
1511 1511
1512 1512
1513/* Windows stat* ( https://msdn.microsoft.com/en-us/library/14h5k7ff.aspx ):
1514 * - st_gid, st_ino, st_uid: only valid on "unix" file systems (not FAT, NTFS, etc)
1515 * - st_atime, st_ctime: not valid on FAT, valid on NTFS.
1516 * - Other fields should be reasonably compatible (and S_ISDIR should work).
1517 *
1518 * BY_HANDLE_FILE_INFORMATION ( https://msdn.microsoft.com/en-us/library/windows/desktop/aa363788%28v=vs.85%29.aspx ):
1519 * - File index (combined nFileIndexHigh and nFileIndexLow) _may_ change when the file is opened.
1520 * - But on NTFS: it's guaranteed to be the same value until the file is deleted.
1521 * - On windows server 2012 there's a 128b file id, and the 64b one via
1522 * nFileIndex* is not guaranteed to be unique.
1523 *
1524 * - MS Docs suggest to that volume number with the file index could be used to
1525 * check if two handles refer to the same file.
1526 */
1513#ifndef _WIN321527#ifndef _WIN32
1514typedef struct stat file_info_t;1528typedef struct stat file_info_t;
1515#else1529#else
@@ -1524,11 +1538,11 @@ int get_file_info(const char *fname, file_info_t *out_info) · 8 unmodified lines
1524 int rv = 1;1538 int rv = 1;
1525 HANDLE h = CreateFile(fname, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING,1539 HANDLE h = CreateFile(fname, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING,
1526 FILE_ATTRIBUTE_NORMAL|FILE_FLAG_BACKUP_SEMANTICS, NULL);1540 FILE_ATTRIBUTE_NORMAL|FILE_FLAG_BACKUP_SEMANTICS, NULL);
1527 if (h == INVALID_HANDLE_VALUE)
1528 return rv;
1529 1541
1530 rv = !GetFileInformationByHandle(h, out_info);1542 if (h != INVALID_HANDLE_VALUE) {
1531 CloseHandle(h);1543 rv = !GetFileInformationByHandle(h, out_info);
1544 CloseHandle(h);
1545 }
1532 return rv;1546 return rv;
1533#endif1547#endif
1534}1548}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t