Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Utilities
Ark
Commits
05a1b621
Commit
05a1b621
authored
Aug 18, 2020
by
Alexey Ivanov
🐢
Browse files
libzipplugin.cpp: unique_ptr without swap.
parent
2853d66c
Changes
1
Hide whitespace changes
Inline
Side-by-side
plugins/libzipplugin/libzipplugin.cpp
View file @
05a1b621
...
...
@@ -676,9 +676,9 @@ bool LibzipPlugin::extractEntry(zip_t *archive, const QString &entry, const QStr
std
::
unique_ptr
<
zip_file
,
decltype
(
&
zip_fclose
)
>
zipFile
{
zip_fopen
(
archive
,
entry
.
toUtf8
().
constData
(),
0
),
&
zip_fclose
};
bool
firstTry
=
true
;
while
(
!
zipFile
.
get
())
{
std
::
unique_ptr
<
zip
_f
ile
,
decltype
(
&
zip_fclose
)
>
tempPtr
{
zip_fopen
(
archive
,
entry
.
toUtf8
().
constData
(),
0
),
&
zip_fclose
}
;
if
(
tempPtr
.
get
())
{
zipFile
.
swap
(
tempPtr
);
zip
F
ile
.
reset
()
;
zipFile
=
{
zip_fopen
(
archive
,
entry
.
toUtf8
().
constData
(),
0
),
&
zip_fclose
};
if
(
zipFile
.
get
())
{
break
;
}
else
if
(
zip_error_code_zip
(
zip_get_error
(
archive
))
==
ZIP_ER_NOPASSWD
||
zip_error_code_zip
(
zip_get_error
(
archive
))
==
ZIP_ER_WRONGPASSWD
)
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment