summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xdg-vfs-gnome/src/xdg_vfs_gnome.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/xdg-vfs-gnome/src/xdg_vfs_gnome.c b/xdg-vfs-gnome/src/xdg_vfs_gnome.c
index de13dba..db7c639 100644
--- a/xdg-vfs-gnome/src/xdg_vfs_gnome.c
+++ b/xdg-vfs-gnome/src/xdg_vfs_gnome.c
@@ -686,14 +686,21 @@ int xdg_vfs_get(const char * text_uri, int opts)
if (r==GNOME_VFS_ERROR_EOF) break; /* ok EOF */
return print_and_translate_result(r);
}
+ char outBuf[bytes_read*2];
+ int oc=0;
for(i=0;i<bytes_read;i++)
{
int c = (int)buffer[i];
/* escape char */
+ /*
if (c == escChar && opts & XDGVFS_OPT_DATAESCAPED) putchar(escChar);
putchar (c);
+ */
+ if (c == escChar && opts & XDGVFS_OPT_DATAESCAPED)
+ outBuf[oc++] = escChar;
+ outBuf[oc++] = (char)c;
}
-
+ fwrite (outBuf, 1, oc, stdout);
}
if (opts & XDGVFS_OPT_DATAESCAPED)
{