On Thu, 2008-01-10 at 14:15 +0100, Luca Ferretti wrote: > Index: programs/gvfs-cat.c > =================================================================== > --- programs/gvfs-cat.c (revisione 1087) > +++ programs/gvfs-cat.c (copia locale) > @@ -28,10 +28,14 @@ > #include <errno.h> > > #include <glib.h> > +#include <glib/gi18n.h> > #include <gio/gio.h> > > +static gchar **locations = NULL; > + > static GOptionEntry entries[] = > { > + {G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_STRING_ARRAY, &locations, > "locations", NULL}, > { NULL } > }; > > Added a "locations" option entry. Note that gvfs-cat don't use > any command line option, this is useful below to check if you > are providing a location to cat an print a warning message. > > Note also that, from Glib API refs: "Using G_OPTION_REMAINING > instead of simply scanning argv for leftover arguments has the > advantage that GOption takes care of necessary encoding > conversions for strings or filenames." See below for this too.
It looks like what G_OPTION_ARG_FILENAME does is convert from locale to utf8 on windows and just strcpy on unix, while ARG_STRING always converts from locale to utf8. So, using string here is wrong, and FILENAME is ok also for uris (as they are ascii-only). > A final note about error messages: currently gvfs-cat prints something > like: > > $ gvfs-cat smb://server/file.txt > Error opening file: No such file or directory > > IMHO could be better prepend the program name and the file name (this is > the behavior of plain cat(1)) > > $ gvfs-cat smb://server/file.txt > gvfs-cat: smb://server/file.txt: No such file or directory Yeah, that looks better. > PS of course could be interesting add some cat(1) options, such as -n > (number all output lines), -E (display $ at end of each line), -T > (display TAB characters as ^I) and -s (never more than one single blank > line). OK to open a bug and add commented GOptionExtry copying switch > and comments from `cat --help`? Well. You could also just pipe through cat if you need these? _______________________________________________ gnome-vfs-list mailing list gnome-vfs-list@gnome.org http://mail.gnome.org/mailman/listinfo/gnome-vfs-list