Re: redirecting output to a file with g_spawn_async
- From: Olivier Sessink <lists olivier pk wau nl>
- To: Colossus <colossus 3000 it>
- Cc: gtk-app-devel-list gnome org
- Subject: Re: redirecting output to a file with g_spawn_async
- Date: Thu, 06 Oct 2005 22:41:16 +0200
Colossus wrote:
I tried with g_spawn_async_with_pipes and with gspawn_async
but it does not work. In the first case the output (the decompressed
bzip2 file) is redirected to a GTK window so I used g_spawn_async (no
pipes) but the output is directed to the shell window from which I ran
my program. How can I have the output redirected to the file /mnt/foo ?
open a file in write mode, and while reading from the pipe from
_spawn_async, write data to that file.
I did it but the file written is not the same as the original !
I opened with fwrite with "w" since wb does not care on Unix.
I read the data from the pipe in a gchar *line with and write it to the
file with fwrite ( line , 1 , strlen ( line ), fd ) but the dimension of
the written file are not the same of the one extracted
with bzip2 -d file.bz2 and it corrupteded. Where am I wrong ?
The only thing I can think of: are you keeping track of the number of
bytes, or do you rely on a '\0' as end-of-string? If your data is
binary, you cannot rely on the end-of-string, you have to keep track of
the number of bytes.
Try replacing the bzip2 with 'cat', and then test your code, much easier
for debugging. Start with a simple file with a single character or so.
regards,
Olivier
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]