| 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; |