Mingw compatibility fixes for file name code.
[pspp-builds.git] / src / data / ChangeLog
index ac93645850b57da50880d0189961555e046994a7..8422c60d97cb8adc32c2a65c94d79dcea63463d6 100644 (file)
@@ -1,3 +1,84 @@
+Mon Feb 19 10:53:21 2007  John McCabe-Dansted <gmatht@gmail.com>
+                         Ben Pfaff <blp@gnu.org>
+
+       * file-name.c: Mingw compatibility fixes.
+       (fn_search_path): Use ISSLASH instead of comparing against '/'
+       directly.
+       (fn_dir_name): Use dir_name from gnulib.
+       (fn_is_absolute): Use IS_ABSOLUTE_FILE_NAME from gnulib.
+       (fn_get_identity): Use GetFullPathName instead of canonicalize
+       from gnulib, because the latter does not fully support
+       Windows-style path names.  Use this implementation based on the
+       detected presence of Windows instead of the absence of Unix, since
+       the new implementation is Windows-specific.
+       (fn_compare_file_identities): In Windows implementation, compare
+       names case-insensitively.
+
+Sun Feb 18 13:28:02 2007  Ben Pfaff  <blp@gnu.org>
+
+       * make-file.c: Don't include mkstemp.h, because gnulib now causes
+       <stdlib.h> to have the same effect.
+
+Sun Feb 18 11:20:24 2007  Ben Pfaff  <blp@gnu.org>
+
+       * por-file-reader.c: Add missing _() around messages.
+
+Sun Feb 11 20:44:13 2007  Ben Pfaff  <blp@gnu.org>
+
+       * make-file.c: Include "mkstemp.h", without which linking on
+       mingw32 fails.
+
+Thu Feb  8 14:59:05 2007  Ben Pfaff  <blp@gnu.org>
+       Reduce platform dependence.
+       * file-name.c (fn_tilde_expand): Removed, and removed calls to it.
+       Everywhere we using this, we really should have just depended on
+       the shell to expand tildes.
+       (fn_search_path): Simplify, given that we don't do tilde expansion
+       any longer.
+       (fn_normalize): Removed.  Caller changed to use the canonicalize
+       module from gnulib.
+       (fn_get_cwd): Removed.  Only user was fn_normalize.
+       (fn_is_absolute): Really only test for absolute names.
+       (fn_is_special): Use pipe files if HAVE_POPEN, not if we're in
+       unix.
+       (fn_readlink): Removed, as it was only used fn_normalize.
+       (fn_exists): Assume the stat function is available; gnulib does.
+       (fn_open): Use pipe files if HAVE_POPEN, not if we're in unix.
+Sat Feb  3 21:52:17 2007  Ben Pfaff  <blp@gnu.org>
+
+       * dictionary.c (dict_create_vector_assert): New function.
+
+Wed Feb  7 21:25:15 2007  Ben Pfaff  <blp@gnu.org>
+
+       * file-name.c (fn_normalize): Correct name of function
+       fn_is_special.  Thanks to John McCabe-Dansted <gmatht@gmail.com>
+       for pointing this out.
+
+Thu Feb  1 16:53:37 2007  Ben Pfaff  <blp@gnu.org>
+
+       We are using a single member in struct file_handle, the "name"
+       field, for more than one purpose.  When it begins with '"', it's a
+       file name; otherwise, it's a token that can be used to identify
+       it.  When that assertion fires, it's because we searched for the
+       name case-sensitively as a file name (so that there was no match),
+       and then we try to insert it case-insensitively as a token, which
+       fails because duplicates aren't allowed.
+
+       Solution: break the two purposes into two separate fields.  This
+       fixes the problem and likely makes the code easier to read too.
+
+       Fixes bug #18922.  Thanks to John Darrington for bug report and
+       review.
+
+       * file-handle-def.c (struct file_handle): New `id' member.
+       (fh_from_name): Rename fh_from_id.  Update all callers.
+       (create_handle): New `id' parameter.  Update all callers.
+       (fh_create_file): Ditto.
+       (fh_get_id): New function.
+
 Mon Jan 15 16:18:10 2007  Ben Pfaff  <blp@gnu.org>
 
        * case.c (case_is_null): Change return type to bool.