X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=fish%2Fedit.c;h=a010057da403339609a28a8360c0aa037bbe31d3;hp=3e6973e5f346e0d79c7ad535a9fc0bad1f9a7ff8;hb=3920ad95f6b2db8fbf20aa26692877a09070cb04;hpb=a7b73d4a1e09f12b2002083618056f0c823c1dcf diff --git a/fish/edit.c b/fish/edit.c index 3e6973e..a010057 100644 --- a/fish/edit.c +++ b/fish/edit.c @@ -30,7 +30,7 @@ /* guestfish edit command, suggested by Ján Ondrej, implemented by RWMJ */ static char * -load_file (const char *filename, int *len_r) +load_file (const char *filename, size_t *len_r) { int fd, r, start; char *content = NULL, *p; @@ -80,7 +80,7 @@ do_edit (const char *cmd, int argc, char *argv[]) char buf[256]; const char *editor; char *content, *content_new; - int r, fd, size; + int r, fd; if (argc != 1) { fprintf (stderr, _("use '%s filename' to edit a file\n"), cmd); @@ -88,9 +88,9 @@ do_edit (const char *cmd, int argc, char *argv[]) } /* Choose an editor. */ - if (strcasecmp (cmd, "vi") == 0) + if (STRCASEEQ (cmd, "vi")) editor = "vi"; - else if (strcasecmp (cmd, "emacs") == 0) + else if (STRCASEEQ (cmd, "emacs")) editor = "emacs -nw"; else { editor = getenv ("EDITOR"); @@ -138,6 +138,7 @@ do_edit (const char *cmd, int argc, char *argv[]) } /* Reload it. */ + size_t size; content_new = load_file (filename, &size); if (content_new == NULL) { unlink (filename); @@ -148,14 +149,14 @@ do_edit (const char *cmd, int argc, char *argv[]) unlink (filename); /* Changed? */ - if (strlen (content) == size && strncmp (content, content_new, size) == 0) { + if (strlen (content) == size && STREQLEN (content, content_new, size)) { free (content); free (content_new); return 0; } /* Write new content. */ - if (guestfs_write_file (g, argv[0], content_new, size) == -1) { + if (guestfs_write (g, argv[0], content_new, size) == -1) { free (content); free (content_new); return -1;