14 # if MKDIR_TAKES_ONE_ARG
15 # define mkdir(a, b) mkdir(a)
19 # define mkdir(a, b) _mkdir(a)
21 # error "Don't know how to create a directory on this system."
41 if (*
p !=
'/')
continue;
61 if (
p[0] ==
'.' &&
p[1] ==
'.' && (
p[2] ==
'/' ||
p[2] ==
'\\')) {
73 return (diff < 0) ? -1 : ((diff > 0) ? 1 : 0);
92 if ((chm = chmd->
open(chmd, *
argv))) {
100 for (
i = 0;
i < numf;
i++) {
102 printf(
"Extracting %s\n", outname);
104 if (chmd->
extract(chmd,
f[
i], outname)) {
105 printf(
"%s: extract error on \"%s\": %s\n",
112 chmd->
close(chmd, chm);
115 printf(
"%s: can't open -- %s\n", *
argv, ERROR(chmd));
const lzma_allocator const uint8_t size_t uint8_t * out
_Use_decl_annotations_ int __cdecl printf(const char *const _Format,...)
static static fork const void static count static fd const char const char static newpath const char static path const char path
static static sync static getppid static getegid const char static filename char static len const char char static bufsiz umask
RZ_API void Ht_() free(HtName_(Ht) *ht)
void * malloc(size_t size)
void * calloc(size_t number, size_t size)
static static fork const void static count static fd const char const char static newpath char char char static envp time_t static t const char static mode static whence const char static dir time_t static t unsigned static seconds const char struct utimbuf static buf static inc static sig mkdir
static static fork const void static count static fd const char const char static newpath char char argv
void qsort(void *a, size_t n, size_t es, int(*cmp)(const void *, const void *))
z_const unsigned char * next
void(* close)(struct mschm_decompressor *self, struct mschmd_header *chm)
int(* extract)(struct mschm_decompressor *self, struct mschmd_file *file, const char *filename)
struct mschmd_header *(* open)(struct mschm_decompressor *self, const char *filename)