pdf-devel
[Top][All Lists]
Advanced

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

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


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

Zac Brown wrote:
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



{{Sigh}}, one more time. I didn't realize jemarch had push'd since last night. This has the fixed conflict with the ChangeLog.

-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: 2af7237909fd3babd0c66604df7c5a0992a2511e
# timestamp: 2008-07-27 10:52:25 -0700
# base_revision_id: address@hidden
# 
# Begin patch
=== modified file 'ChangeLog'
--- ChangeLog   2008-07-27 13:35:36 +0000
+++ ChangeLog   2008-07-27 17:51:24 +0000
@@ -1,3 +1,8 @@
+2008-07-27  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-27  Jose E. Marchesi  <address@hidden>
 
        * doc/Makefile.am (html-local): Use 'gnupdf-manual.init' to

=== 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]