diff options
author | Ron Yorston <rmy@pobox.com> | 2019-02-27 11:28:43 +0000 |
---|---|---|
committer | Ron Yorston <rmy@pobox.com> | 2019-02-27 11:28:43 +0000 |
commit | 41659f76804df94874469e7fa66ef5d1808753d5 (patch) | |
tree | 717749b18c210df94e5bd9258954cd75e4138bfe /win32/mingw.c | |
parent | bf465dd5036d1f3f3fd3812f737579b1f795ca83 (diff) | |
download | busybox-w32-41659f76804df94874469e7fa66ef5d1808753d5.tar.gz busybox-w32-41659f76804df94874469e7fa66ef5d1808753d5.tar.bz2 busybox-w32-41659f76804df94874469e7fa66ef5d1808753d5.zip |
win32: make more use of common lazy loading code
Diffstat (limited to 'win32/mingw.c')
-rw-r--r-- | win32/mingw.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/win32/mingw.c b/win32/mingw.c index 378c4001f..f748d2d09 100644 --- a/win32/mingw.c +++ b/win32/mingw.c | |||
@@ -921,19 +921,14 @@ clock_t times(struct tms *buf) | |||
921 | 921 | ||
922 | int link(const char *oldpath, const char *newpath) | 922 | int link(const char *oldpath, const char *newpath) |
923 | { | 923 | { |
924 | typedef BOOL (WINAPI *T)(const char*, const char*, LPSECURITY_ATTRIBUTES); | 924 | DECLARE_PROC_ADDR(BOOL, CreateHardLinkA, LPCSTR, LPCSTR, |
925 | static T create_hard_link = NULL; | 925 | LPSECURITY_ATTRIBUTES); |
926 | if (!create_hard_link) { | 926 | |
927 | create_hard_link = (T) GetProcAddress( | 927 | if (!INIT_PROC_ADDR(kernel32.dll, CreateHardLinkA)) { |
928 | GetModuleHandle("kernel32.dll"), "CreateHardLinkA"); | ||
929 | if (!create_hard_link) | ||
930 | create_hard_link = (T)-1; | ||
931 | } | ||
932 | if (create_hard_link == (T)-1) { | ||
933 | errno = ENOSYS; | 928 | errno = ENOSYS; |
934 | return -1; | 929 | return -1; |
935 | } | 930 | } |
936 | if (!create_hard_link(newpath, oldpath, NULL)) { | 931 | if (!CreateHardLinkA(newpath, oldpath, NULL)) { |
937 | errno = err_win_to_posix(GetLastError()); | 932 | errno = err_win_to_posix(GetLastError()); |
938 | return -1; | 933 | return -1; |
939 | } | 934 | } |