You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It looks like the field FileHeader::RedirName has changed its type from wchar_t* to std::wstring, which prevents the compilation of rar2fs with unrar 7.0.7:
dllext.cpp: In function void RARNextVolumeName(char*, bool):
dllext.cpp:214:18: error: NM was not declared in this scope
214 | wchar NextName[NM];
| ^~
The text was updated successfully, but these errors were encountered:
so, is anyone working on a patch for this? trying to avoid the possibility of duplicating work here
EDIT: hmmm, this seems to require quite some consideration to get right, and beforehand knowledge of string formats and how to c++. And some #if RARVER_MAJOR < 7 to keep the previous behavior... But I'm kinda curious how it looks like if i halfass it(like redefining NM) - ok, it can't be halfassed.
I don't know enough c++ to be confident I won't mess it up. I see for example char FileNameUtf[NM] (in rar2fs-1.29.6/src/dllext.cpp) and I wonder if it shouldn't have been char FileNameUtf[NM*4] all along, for the worst case scenario, and this is before even attempting to make it work for the >=7 version. And maybe some size checks about MAXPATHSIZE ...
Looking at the UnRAR source code usually provides enough details to complete the small extension(s) in rar2fs. The extensions are simply variants of already existing functions.
It looks like the field
FileHeader::RedirName
has changed its type fromwchar_t*
tostd::wstring
, which prevents the compilation ofrar2fs
withunrar
7.0.7:See https://bugs.gentoo.org/931078
The constant
NM
seems to have been removed as well:See https://bugs.gentoo.org/930341
The text was updated successfully, but these errors were encountered: