From 9f90325e96ebd4f9c4836ffa49150547779ba9c2 Mon Sep 17 00:00:00 2001 From: Jerome Guelfucci <jeromeg@xfce.org> Date: Fri, 27 Jun 2008 15:35:07 +0000 Subject: [PATCH] Clean generate_filename_for_uri using g_access (Old svn revision: 4999) --- ChangeLog | 4 ++++ po/POTFILES.in | 1 - src/screenshooter-utils.c | 43 ++++++++++++++++++++++----------------- 3 files changed, 28 insertions(+), 20 deletions(-) diff --git a/ChangeLog b/ChangeLog index 41aecc7e..0049c702 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2008-06-27 jeromeg + + * src/screenshooter-utils.c: clean generate_filename_for_uri using g_access. + 2008-06-20 09:19 jeromeg * NEWS: updated. diff --git a/po/POTFILES.in b/po/POTFILES.in index b8021c40..964c8be9 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,4 +1,3 @@ src/screenshooter-plugin.c src/main.c src/screenshooter.desktop.in.in - diff --git a/src/screenshooter-utils.c b/src/screenshooter-utils.c index 77a41c53..61d1a16d 100644 --- a/src/screenshooter-utils.c +++ b/src/screenshooter-utils.c @@ -27,8 +27,6 @@ #include <screenshooter-utils.h> -#define MODE 0644 - /* Prototypes */ static Window get_window_property (Window xwindow, Atom atom); @@ -151,22 +149,29 @@ GdkPixbuf *take_screenshot (gint fullscreen, gint delay) gchar *generate_filename_for_uri(char *uri) { - int test; - gchar *file_name; - unsigned int i = 0; - if(uri == NULL) - return NULL; - file_name = g_strdup ("Screenshot.png"); - if((test=open(g_build_filename(uri, file_name, NULL),O_RDWR,MODE))==-1) - { - return file_name; - } - do - { - i++; - g_free (file_name); - file_name = g_strdup_printf ("Screenshot-%d.png",i); - } - while((test=open(g_build_filename(uri, file_name, NULL),O_RDWR,MODE))!=-1); + int test; + gchar *file_name; + unsigned int i = 0; + + if ( uri == NULL ) + { + return NULL; + } + + file_name = g_strdup ("Screenshot.png"); + + if( ( test = g_access ( g_build_filename (uri, file_name, NULL), F_OK ) ) != 0 ) + { return file_name; + } + + do + { + i++; + g_free (file_name); + file_name = g_strdup_printf ("Screenshot-%d.png", i); + } + while( ( test = g_access ( g_build_filename (uri, file_name, NULL), F_OK ) ) == -1 ); + + return file_name; } -- GitLab