aboutsummaryrefslogtreecommitdiff
path: root/win32/mingw.c
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2019-02-27 11:28:43 +0000
committerRon Yorston <rmy@pobox.com>2019-02-27 11:28:43 +0000
commit41659f76804df94874469e7fa66ef5d1808753d5 (patch)
tree717749b18c210df94e5bd9258954cd75e4138bfe /win32/mingw.c
parentbf465dd5036d1f3f3fd3812f737579b1f795ca83 (diff)
downloadbusybox-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.c15
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
922int link(const char *oldpath, const char *newpath) 922int 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 }