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