pdf-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[pdf-devel] [PATCH] Add implementation of pdf_fsys_disk_item_p


From: Zac Brown
Subject: [pdf-devel] [PATCH] Add implementation of pdf_fsys_disk_item_p
Date: Sun, 27 Jul 2008 10:47:17 -0700
User-agent: Thunderbird 2.0.0.16 (X11/20080724)

Hi,

Attached is the merge directive for pdf_fsys_disk_item_p.

Interesting changes from the last revision include, adding proper braces (I'm still learning this GNU style ;)), using POSIX only commands to create the function and thus avoiding having #ifdefs to do the same thing (Thank Microsoft for adding POSXI) and overall simplification of the code.

Note because I used the POSIX fopen, Windows should handle relative paths just fine and I verified this with my own little simple program.

-Zac
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: address@hidden
# target_branch: http://bzr.savannah.gnu.org/r/pdf/libgnupdf/branches\
#   /trunk/
# testament_sha1: a201be411e185ede9e5e48d8c8da4dc27ee95a9d
# timestamp: 2008-07-27 10:44:35 -0700
# base_revision_id: address@hidden
# 
# Begin patch
=== modified file 'ChangeLog'
--- ChangeLog   2008-07-25 23:13:29 +0000
+++ ChangeLog   2008-07-26 15:20:13 +0000
@@ -1,3 +1,8 @@
+2008-07-26  Zac Brown <address@hidden>
+       * src/base/pdf-fsys-disk.c (pdf_fsys_disk_item_p): Add implementation
+       for this function. Uses POSIX compliant command for Windows instead of
+       FindFirstFile to minimize crossing of API's.
+       
 2008-07-26  Jose E. Marchesi  <address@hidden>
 
        * doc/gnupdf-hg.texi (Naming Functions): New section.

=== modified file 'src/base/pdf-fsys-disk.c'
--- src/base/pdf-fsys-disk.c    2008-06-13 11:55:20 +0000
+++ src/base/pdf-fsys-disk.c    2008-07-27 17:44:08 +0000
@@ -36,6 +36,7 @@
 #include <pdf-types.h>
 #include <pdf-error.h>
 #include <pdf-fsys-disk.h>
+#include <pdf-text.h>
 
 #ifndef PDF_HOST_WIN32
 #include <sys/statvfs.h>
@@ -472,8 +473,42 @@
 pdf_bool_t
 pdf_fsys_disk_item_p (pdf_text_t path_name)
 {
-  /* FIXME: Please implement me :D */
+  pdf_char_t* ascii_path;
+  pdf_size_t ascii_path_len;
+  pdf_status_t ret_code;
+  FILE *file = NULL;
+
+  if (path_name == NULL)
+    {
+      return PDF_FALSE;
+    }
+
+  ret_code = pdf_text_get_host (&ascii_path, &ascii_path_len, path_name, 
pdf_text_get_host_encoding());
+
+  if (ret_code != PDF_OK)
+    {
+      goto error_cleanup;
+    }
+
+  file = fopen ((char*)ascii_path, "r");
+  if (file == NULL)
+    {
+      goto error_cleanup;
+    }
+  else
+    {
+      fclose (file);
+    }
+
+  pdf_dealloc (ascii_path);
   return PDF_TRUE;
+
+ error_cleanup:
+  if (ascii_path)
+    {
+      pdf_dealloc (ascii_path);
+    }
+  return PDF_FALSE;
 }
 
 pdf_bool_t 

# Begin bundle
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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]