diff options
Diffstat (limited to 'net-misc/freerdp/files/freerdp-1.1.0_beta1_p20130710-uclibc.patch')
-rw-r--r-- | net-misc/freerdp/files/freerdp-1.1.0_beta1_p20130710-uclibc.patch | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/net-misc/freerdp/files/freerdp-1.1.0_beta1_p20130710-uclibc.patch b/net-misc/freerdp/files/freerdp-1.1.0_beta1_p20130710-uclibc.patch new file mode 100644 index 000000000000..f4f28b287028 --- /dev/null +++ b/net-misc/freerdp/files/freerdp-1.1.0_beta1_p20130710-uclibc.patch @@ -0,0 +1,66 @@ +https://bugs.gentoo.org/show_bug.cgi?id=497808 +https://github.com/FreeRDP/FreeRDP/pull/2024 + +--- FreeRDP-780d451afad21a22d2af6bd030ee71311856f038/channels/drive/client/drive_file.c ++++ FreeRDP-780d451afad21a22d2af6bd030ee71311856f038-uclibc/channels/drive/client/drive_file.c +@@ -436,7 +436,11 @@ BOOL drive_file_set_information(DRIVE_FI + int status; + char* fullpath; + struct STAT st; ++#if defined(__linux__) && !defined(ANDROID) ++ struct timespec tv[2]; ++#else + struct timeval tv[2]; ++#endif + UINT64 LastWriteTime; + UINT32 FileAttributes; + UINT32 FileNameLength; +@@ -457,14 +461,21 @@ BOOL drive_file_set_information(DRIVE_FI + return FALSE; + + tv[0].tv_sec = st.st_atime; +- tv[0].tv_usec = 0; +- tv[1].tv_sec = (LastWriteTime > 0 ? FILE_TIME_RDP_TO_SYSTEM(LastWriteTime) : st.st_mtime); +- tv[1].tv_usec = 0; ++ tv[1].tv_sec = (LastWriteTime > 0 ? FILE_TIME_RDP_TO_SYSTEM(LastWriteTime) : st.st_mtime); ++ + #ifndef WIN32 +-/* TODO on win32 */ ++/* TODO on win32 */ + #ifdef ANDROID ++ tv[0].tv_usec = 0; ++ tv[1].tv_usec = 0; + utimes(file->fullpath, tv); ++#elif defined (__linux__) ++ tv[0].tv_nsec = 0; ++ tv[1].tv_nsec = 0; ++ futimens(file->fd, tv); + #else ++ tv[0].tv_usec = 0; ++ tv[1].tv_usec = 0; + futimes(file->fd, tv); + #endif + +--- FreeRDP-780d451afad21a22d2af6bd030ee71311856f038/winpr/libwinpr/synch/event.c ++++ FreeRDP-780d451afad21a22d2af6bd030ee71311856f038-uclibc/winpr/libwinpr/synch/event.c +@@ -115,6 +115,20 @@ HANDLE OpenEventA(DWORD dwDesiredAccess, + return NULL; + } + ++#ifdef HAVE_EVENTFD_H ++#if defined(__UCLIBC__) ++static int eventfd_read(int fd, eventfd_t* value) ++{ ++ return (read(fd, value, sizeof(*value)) == sizeof(*value)) ? 0 : -1; ++} ++ ++static int eventfd_write(int fd, eventfd_t value) ++{ ++ return (write(fd, &value, sizeof(value)) == sizeof(value)) ? 0 : -1; ++} ++#endif ++#endif ++ + BOOL SetEvent(HANDLE hEvent) + { + ULONG Type; |