mirror of
https://git.FreeBSD.org/ports.git
synced 2025-02-07 11:49:40 +00:00
misc/far2l: fix build on big-endian
/wrkdirs/usr/ports/misc/far2l/work/far2l-v_2.5.2/far2l/src/datetime.cpp:534:10: error: non-constant-expression cannot be narrowed from type 'DWORD' (aka 'unsigned int') to 'LONG' (aka 'int') in initializer list [-Wc++11-narrowing] {a->dwLowDateTime, (LONG)a->dwHighDateTime} ^~~~~~~~~~~~~~~~ /wrkdirs/usr/ports/misc/far2l/work/far2l-v_2.5.2/far2l/src/datetime.cpp:534:10: note: insert an explicit cast to silence this issue {a->dwLowDateTime, (LONG)a->dwHighDateTime} ^~~~~~~~~~~~~~~~ static_cast<LONG>( ) /wrkdirs/usr/ports/misc/far2l/work/far2l-v_2.5.2/far2l/src/datetime.cpp:534:28: error: non-constant-expression cannot be narrowed from type 'LONG' (aka 'int') to 'DWORD' (aka 'unsigned int') in initializer list [-Wc++11-narrowing] {a->dwLowDateTime, (LONG)a->dwHighDateTime} ^~~~~~~~~~~~~~~~~~~~~~~ /wrkdirs/usr/ports/misc/far2l/work/far2l-v_2.5.2/far2l/src/datetime.cpp:534:28: note: insert an explicit cast to silence this issue {a->dwLowDateTime, (LONG)a->dwHighDateTime} ^~~~~~~~~~~~~~~~~~~~~~~ static_cast<DWORD>( ) /wrkdirs/usr/ports/misc/far2l/work/far2l-v_2.5.2/far2l/src/datetime.cpp:536:11: error: non-constant-expression cannot be narrowed from type 'DWORD' (aka 'unsigned int') to 'LONG' (aka 'int') in initializer list [-Wc++11-narrowing] B = {{b->dwLowDateTime, (LONG)b->dwHighDateTime}}; ^~~~~~~~~~~~~~~~ /wrkdirs/usr/ports/misc/far2l/work/far2l-v_2.5.2/far2l/src/datetime.cpp:536:11: note: insert an explicit cast to silence this issue B = {{b->dwLowDateTime, (LONG)b->dwHighDateTime}}; ^~~~~~~~~~~~~~~~ static_cast<LONG>( ) /wrkdirs/usr/ports/misc/far2l/work/far2l-v_2.5.2/far2l/src/datetime.cpp:536:29: error: non-constant-expression cannot be narrowed from type 'LONG' (aka 'int') to 'DWORD' (aka 'unsigned int') in initializer list [-Wc++11-narrowing] B = {{b->dwLowDateTime, (LONG)b->dwHighDateTime}}; ^~~~~~~~~~~~~~~~~~~~~~~ /wrkdirs/usr/ports/misc/far2l/work/far2l-v_2.5.2/far2l/src/datetime.cpp:536:29: note: insert an explicit cast to silence this issue B = {{b->dwLowDateTime, (LONG)b->dwHighDateTime}}; ^~~~~~~~~~~~~~~~~~~~~~~ static_cast<DWORD>( ) 4 errors generated.
This commit is contained in:
parent
0f1e3385b8
commit
9df38c9ba1
42
misc/far2l/files/patch-far2l_src_datetime.cpp
Normal file
42
misc/far2l/files/patch-far2l_src_datetime.cpp
Normal file
@ -0,0 +1,42 @@
|
||||
--- far2l/src/datetime.cpp.orig 2023-10-06 15:57:46 UTC
|
||||
+++ far2l/src/datetime.cpp
|
||||
@@ -531,15 +531,27 @@ int64_t FileTimeDifference(const FILETIME *a, const FI
|
||||
{
|
||||
LARGE_INTEGER A =
|
||||
{
|
||||
+#if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
|
||||
+ {(LONG)a->dwHighDateTime, a->dwLowDateTime}
|
||||
+#else
|
||||
{a->dwLowDateTime, (LONG)a->dwHighDateTime}
|
||||
+#endif
|
||||
},
|
||||
+#if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
|
||||
+ B = {{(LONG)b->dwHighDateTime, b->dwLowDateTime}};
|
||||
+#else
|
||||
B = {{b->dwLowDateTime, (LONG)b->dwHighDateTime}};
|
||||
+#endif
|
||||
return A.QuadPart - B.QuadPart;
|
||||
}
|
||||
|
||||
uint64_t FileTimeToUI64(const FILETIME *ft)
|
||||
{
|
||||
+#if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
|
||||
+ ULARGE_INTEGER A = { {ft->dwHighDateTime, ft->dwLowDateTime} };
|
||||
+#else
|
||||
ULARGE_INTEGER A = { {ft->dwLowDateTime, ft->dwHighDateTime} };
|
||||
+#endif
|
||||
return A.QuadPart;
|
||||
}
|
||||
|
||||
@@ -761,7 +773,11 @@ void ConvertRelativeDate(const FILETIME &ft, FARString
|
||||
|
||||
void ConvertRelativeDate(const FILETIME &ft, FARString &strDaysText, FARString &strTimeText)
|
||||
{
|
||||
+#if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
|
||||
+ ULARGE_INTEGER time = { {ft.dwHighDateTime, ft.dwLowDateTime}};
|
||||
+#else
|
||||
ULARGE_INTEGER time = { {ft.dwLowDateTime, ft.dwHighDateTime}};
|
||||
+#endif
|
||||
|
||||
UINT64 ms = (time.QuadPart/= 10000) % 1000;
|
||||
UINT64 s = (time.QuadPart/= 1000) % 60;
|
Loading…
x
Reference in New Issue
Block a user