mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 10:07:43 +00:00
FileManager: Use Core::System::exec()
This commit is contained in:
parent
d2b32924d6
commit
88800e8f32
1 changed files with 4 additions and 9 deletions
|
@ -50,7 +50,7 @@ ErrorOr<void> run_file_operation(FileOperation operation, Vector<String> const&
|
||||||
TRY(Core::System::close(pipe_fds[0]));
|
TRY(Core::System::close(pipe_fds[0]));
|
||||||
TRY(Core::System::dup2(pipe_fds[1], STDOUT_FILENO));
|
TRY(Core::System::dup2(pipe_fds[1], STDOUT_FILENO));
|
||||||
|
|
||||||
Vector<char const*> file_operation_args;
|
Vector<StringView> file_operation_args;
|
||||||
file_operation_args.append("/bin/FileOperation");
|
file_operation_args.append("/bin/FileOperation");
|
||||||
|
|
||||||
switch (operation) {
|
switch (operation) {
|
||||||
|
@ -68,17 +68,12 @@ ErrorOr<void> run_file_operation(FileOperation operation, Vector<String> const&
|
||||||
}
|
}
|
||||||
|
|
||||||
for (auto& source : sources)
|
for (auto& source : sources)
|
||||||
file_operation_args.append(source.characters());
|
file_operation_args.append(source.view());
|
||||||
|
|
||||||
if (operation != FileOperation::Delete)
|
if (operation != FileOperation::Delete)
|
||||||
file_operation_args.append(destination.characters());
|
file_operation_args.append(destination.view());
|
||||||
|
|
||||||
file_operation_args.append(nullptr);
|
TRY(Core::System::exec(file_operation_args.first(), file_operation_args, Core::System::SearchInPath::Yes));
|
||||||
|
|
||||||
if (execvp(file_operation_args.first(), const_cast<char**>(file_operation_args.data())) < 0) {
|
|
||||||
perror("execvp");
|
|
||||||
_exit(1);
|
|
||||||
}
|
|
||||||
VERIFY_NOT_REACHED();
|
VERIFY_NOT_REACHED();
|
||||||
} else {
|
} else {
|
||||||
TRY(Core::System::close(pipe_fds[1]));
|
TRY(Core::System::close(pipe_fds[1]));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue