- Added extractFile and extractAll to zipfiles.nim
-- Need to wait until libzip_all.c is updated to support Windows. - Started working on "koch update". -- Waiting on above to finish work.
This commit is contained in:
parent
76f91b90e2
commit
2e0f9c8bf7
2 changed files with 42 additions and 0 deletions
|
|
@ -142,3 +142,25 @@ iterator walkFiles*(z: var TZipArchive): string =
|
|||
while i < num:
|
||||
yield $zip_get_name(z.w, i, 0'i32)
|
||||
inc(i)
|
||||
|
||||
|
||||
proc extractFile*(z: var TZipArchive, srcFile: string, dest: PStream) =
|
||||
var strm = getStream(z, srcFile)
|
||||
while true:
|
||||
if not strm.atEnd:
|
||||
dest.write(strm.readStr(1))
|
||||
else: break
|
||||
dest.flush()
|
||||
strm.close()
|
||||
dest.close()
|
||||
|
||||
proc extractFile*(z: var TZipArchive, srcFile: string, dest: string) =
|
||||
var file = newFileStream(dest, fmReadWrite)
|
||||
extractFile(z, srcFile, file)
|
||||
|
||||
proc extractAll*(z: var TZipArchive, dest: string) =
|
||||
for file in walkFiles(z):
|
||||
extractFile(z, file, dest & "/" & extractFilename(file))
|
||||
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue