1 #include "fileimage-patch.hpp"
13 std::set
<patcher
*>& patchers()
15 static std::set
<patcher
*> t
;
20 std::vector
<char> patch(const std::vector
<char>& original
, const std::vector
<char>& patch
,
21 int32_t offset
) throw(std::bad_alloc
, std::runtime_error
)
23 std::vector
<char> out
;
24 for(auto i
: patchers())
25 if(i
->identify(patch
)) {
26 i
->dopatch(out
, original
, patch
, offset
);
29 throw std::runtime_error("Unknown patch file format");
32 patcher::patcher() throw(std::bad_alloc
)
34 patchers().insert(this);
37 patcher::~patcher() throw()
39 patchers().erase(this);