mirror of
https://github.com/MidnightCommander/mc
synced 2024-12-23 04:46:55 +03:00
src/diffviewer/ydiff.c: use GLib functions more widely.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
This commit is contained in:
parent
29a1ad784f
commit
8e55efe547
@ -255,17 +255,13 @@ f_dopen (int fd)
|
|||||||
FBUF *fs;
|
FBUF *fs;
|
||||||
|
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
{
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
|
||||||
|
|
||||||
fs = g_malloc (sizeof (FBUF));
|
fs = g_try_malloc (sizeof (FBUF));
|
||||||
if (fs == NULL)
|
if (fs == NULL)
|
||||||
{
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
|
||||||
|
|
||||||
fs->buf = g_malloc (FILE_READ_BUF);
|
fs->buf = g_try_malloc (FILE_READ_BUF);
|
||||||
if (fs->buf == NULL)
|
if (fs->buf == NULL)
|
||||||
{
|
{
|
||||||
g_free (fs);
|
g_free (fs);
|
||||||
@ -296,7 +292,7 @@ f_free (FBUF * fs)
|
|||||||
if (fs->flags & FILE_FLAG_TEMP)
|
if (fs->flags & FILE_FLAG_TEMP)
|
||||||
{
|
{
|
||||||
rv = unlink (fs->data);
|
rv = unlink (fs->data);
|
||||||
free (fs->data);
|
g_free (fs->data);
|
||||||
}
|
}
|
||||||
g_free (fs->buf);
|
g_free (fs->buf);
|
||||||
g_free (fs);
|
g_free (fs);
|
||||||
@ -803,29 +799,21 @@ dff_execute (const char *args, const char *extra, const char *file1, const char
|
|||||||
char *cmd;
|
char *cmd;
|
||||||
int code;
|
int code;
|
||||||
|
|
||||||
cmd =
|
cmd = g_strdup_printf ("diff %s %s %s \"%s\" \"%s\"", args, extra, opt, file1, file2);
|
||||||
malloc (14 + strlen (args) + strlen (extra) + strlen (opt) + strlen (file1) +
|
|
||||||
strlen (file2));
|
|
||||||
if (cmd == NULL)
|
if (cmd == NULL)
|
||||||
{
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
sprintf (cmd, "diff %s %s %s \"%s\" \"%s\"", args, extra, opt, file1, file2);
|
|
||||||
|
|
||||||
f = p_open (cmd, O_RDONLY);
|
f = p_open (cmd, O_RDONLY);
|
||||||
free (cmd);
|
g_free (cmd);
|
||||||
|
|
||||||
if (f == NULL)
|
if (f == NULL)
|
||||||
{
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
rv = scan_diff (f, ops);
|
rv = scan_diff (f, ops);
|
||||||
code = p_close (f);
|
code = p_close (f);
|
||||||
|
|
||||||
if (rv < 0 || code == -1 || !WIFEXITED (code) || WEXITSTATUS (code) == 2)
|
if (rv < 0 || code == -1 || !WIFEXITED (code) || WEXITSTATUS (code) == 2)
|
||||||
{
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
@ -1667,11 +1655,8 @@ printer (void *ctx, int ch, int line, off_t off, size_t sz, const char *str)
|
|||||||
{
|
{
|
||||||
sz--;
|
sz--;
|
||||||
}
|
}
|
||||||
if (sz)
|
if (sz != NULL)
|
||||||
{
|
p.p = g_strndup (str, sz);
|
||||||
p.p = g_malloc (sz);
|
|
||||||
memcpy (p.p, str, sz);
|
|
||||||
}
|
|
||||||
p.u.len = sz;
|
p.u.len = sz;
|
||||||
}
|
}
|
||||||
g_array_append_val (a, p);
|
g_array_append_val (a, p);
|
||||||
|
Loading…
Reference in New Issue
Block a user