mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-22 07:03:38 +00:00
fish: Fix 'more' command to work with any file.
(cherry picked from commit 639ca1828b)
This commit is contained in:
committed by
Richard W.M. Jones
parent
0983374d9b
commit
d3496005cd
@@ -607,9 +607,6 @@ This is used to view a file.
|
||||
The default viewer is C<$PAGER>. However if you use the alternate
|
||||
command C<less> you will get the C<less> command specifically.
|
||||
|
||||
NOTE: This will not work reliably for large files
|
||||
(> 2 MB) or binary files containing \0 bytes.
|
||||
|
||||
=head2 quit | exit
|
||||
|
||||
This exits guestfish. You can also use C<^D> key.
|
||||
|
||||
14
fish/more.c
14
fish/more.c
@@ -33,7 +33,6 @@ do_more (const char *cmd, int argc, char *argv[])
|
||||
char filename[] = "/tmp/guestfishXXXXXX";
|
||||
char buf[256];
|
||||
const char *pager;
|
||||
char *content;
|
||||
int r, fd;
|
||||
|
||||
if (argc != 1) {
|
||||
@@ -57,21 +56,14 @@ do_more (const char *cmd, int argc, char *argv[])
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ((content = guestfs_cat (g, argv[0])) == NULL) {
|
||||
snprintf (buf, sizeof buf, "/dev/fd/%d", fd);
|
||||
|
||||
if (guestfs_download (g, argv[0], buf) == -1) {
|
||||
close (fd);
|
||||
unlink (filename);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (xwrite (fd, content, strlen (content)) == -1) {
|
||||
close (fd);
|
||||
unlink (filename);
|
||||
free (content);
|
||||
return -1;
|
||||
}
|
||||
|
||||
free (content);
|
||||
|
||||
if (close (fd) == -1) {
|
||||
perror (filename);
|
||||
unlink (filename);
|
||||
|
||||
Reference in New Issue
Block a user