On Wed, 31 Mar 2010 14:41:20 +0400 Алексей Антипов 1a_antipov@mail.ru wrote:
Btw, the bugs with GVFS didn't appear with GNOME 2.26 (and probably before), so I think we can safely use fopen() and fprintf()/fwrite() there. Then, your proposal about version separation (use GIO with GLib>=2.16 and fopen()/g_file_set_contents() with other) is extremely attractive. Do you know if there is a way to get GLib version at runtime, not at compile-time (so that there is no need to rebuild all the packages for different versions)?
I'm going to start working on it; if this is OK, I'll send a patch ASAP.
BTW There is another problem that file saving should solve - not losing existing file data when there is no space to save the new file. Does g_file_replace_contents() handle this problem? (g_file_set_contents () does handle this but as you mention has other problems).
So while it's great you found a solution to the gvfs bugs, ideally we would have one function that works everywhere. It seems possible but may be a pain trying to get it to work :-/
Just wanted to mention this.
Regards, Nick