aawc / unrar Goto Github PK
View Code? Open in Web Editor NEWA copy of the unrar library from https://www.rarlab.com/
License: Other
A copy of the unrar library from https://www.rarlab.com/
License: Other
Portable UnRAR version 1. General This package includes freeware Unrar C++ source and makefile for several Unix compilers. Unrar source is subset of RAR and generated from RAR source automatically, by a small program removing blocks like '#ifndef UNRAR ... #endif'. Such method is not perfect and you may find some RAR related stuff unnecessary in Unrar, especially in header files. If you wish to port Unrar to a new platform, you may need to edit '#define LITTLE_ENDIAN' in os.hpp and data type definitions in rartypes.hpp. if computer architecture does not allow not aligned data access, you need to undefine ALLOW_NOT_ALIGNED_INT and define STRICT_ALIGNMENT_REQUIRED in os.h. UnRAR.vcproj and UnRARDll.vcproj are projects for Microsoft Visual C++. UnRARDll.vcproj lets to build unrar.dll library. 2. Unrar binaries If you compiled Unrar for OS, which is not present in "Downloads" and "RAR extras" on www.rarlab.com, we will appreciate if you send us the compiled executable to place it to our site. 3. Acknowledgements This source includes parts of code written by other authors. Please see acknow.txt file for details. 4. Legal stuff Unrar source may be used in any software to handle RAR archives without limitations free of charge, but cannot be used to re-create the RAR compression algorithm, which is proprietary. Distribution of modified Unrar source in separate form or as a part of other software is permitted, provided that it is clearly stated in the documentation and source comments that the code may not be used to develop a RAR (WinRAR) compatible archiver. More detailed license text is available in license.txt.
@chrdavis -- since you landed a patch in this repository previously, would you be interested in reviewing the latest version on the unrar
library?
I just landed v6.0.3
here and would welcome a review from you (feel free to decline).
Sorry for not asking you about this before landing the new version of the library.
Most specifically, I ended up rolling back your changes from #23 so that the code here is an exact replica of the unrar
library source from rarlab.com, but the corresponding CL in the Chromium repository will be unaffected.
Also, please let me know if you'd like to review https://chromium-review.googlesource.com/c/chromium/src/+/2634824
Thanks!
In os.hpp there is a line of code that says "#define STRICT"
https://github.com/aawc/unrar/blob/master/os.hpp#L25
Unfortunately that is incompatible with the Windows 10 SDK, from at least version 10.0.15063.0 onwards. There, in minwindef.h, the definition is:
#ifndef STRICT
#define STRICT 1
#endif
Depending on the order in which these statements are reached this may be a build break. That is, if minwindef.h is reached first then the compiler will issue this warning:
unrar/src/os.hpp(25,9): error: 'STRICT' macro redefined [-Werror,-Wmacro-redefined]
Changing the line to #define STRICT 1 would improve compatibility.
A recently commit introduced a double declaration of SetAttrOnly
in Extract.cpp
, this is currently causing OSS-Fuzz build issues https://oss-fuzz-build-logs.storage.googleapis.com/log-441dcd4d-726a-4c18-aa1b-6a9eca259d06.txt:
Lines 778 to 793 in 487e530
Hello.
New version avaiable https://www.rarlab.com/rar/unrarsrc-5.7.3.tar.gz
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.