projects
/
apt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Deprecate SPtrArray<T> and convert everyone to unique_ptr<T[]>
[apt.git]
/
ftparchive
/
multicompress.cc
diff --git
a/ftparchive/multicompress.cc
b/ftparchive/multicompress.cc
index f35d5304a1edc7d0b45050498cb809a981c8f75e..08a3cff5a97abc3342e35b1bbba4f9c417e05099 100644
(file)
--- a/
ftparchive/multicompress.cc
+++ b/
ftparchive/multicompress.cc
@@
-46,7
+46,6
@@
MultiCompress::MultiCompress(string const &Output,string const &Compress,
{
Outputs = 0;
Outputter = -1;
{
Outputs = 0;
Outputter = -1;
- Input = 0;
UpdateMTime = 0;
/* Parse the compression string, a space separated lists of compresison
UpdateMTime = 0;
/* Parse the compression string, a space separated lists of compresison
@@
-187,12
+186,11
@@
bool MultiCompress::Start()
};
close(Pipe[0]);
};
close(Pipe[0]);
- Input = fdopen(Pipe[1],"w");
- if (Input == 0)
- return _error->Errno("fdopen",_("Failed to create FILE*"));
-
+ if (Input.OpenDescriptor(Pipe[1], FileFd::WriteOnly, true) == false)
+ return false;
+
if (Outputter == -1)
if (Outputter == -1)
- return _error->Errno("fork",_("Failed to fork"));
+ return _error->Errno("fork",_("Failed to fork"));
return true;
}
/*}}}*/
return true;
}
/*}}}*/
@@
-201,11
+199,10
@@
bool MultiCompress::Start()
/* */
bool MultiCompress::Die()
{
/* */
bool MultiCompress::Die()
{
- if (Input
== 0
)
+ if (Input
.IsOpen() == false
)
return true;
return true;
-
- fclose(Input);
- Input = 0;
+
+ Input.Close();
bool Res = ExecWait(Outputter,_("Compress child"),false);
Outputter = -1;
return Res;
bool Res = ExecWait(Outputter,_("Compress child"),false);
Outputter = -1;
return Res;
@@
-217,7
+214,7
@@
bool MultiCompress::Die()
bool MultiCompress::Finalize(unsigned long long &OutSize)
{
OutSize = 0;
bool MultiCompress::Finalize(unsigned long long &OutSize)
{
OutSize = 0;
- if (Input
== 0
|| Die() == false)
+ if (Input
.IsOpen() == false
|| Die() == false)
return false;
time_t Now;
return false;
time_t Now;