Log Message:
-----------
fix storing of existing files (didn't truncate)

Modified Files:
--------------
    pgadmin3:
        CHANGELOG.txt (r1.102 -> r1.103)
    pgadmin3/src/utils:
        misc.cpp (r1.50 -> r1.51)
        utffile.cpp (r1.5 -> r1.6)
    pgadmin3/src/include:
        utffile.h (r1.4 -> r1.5)

Index: CHANGELOG.txt
===================================================================
RCS file: /projects/pgadmin3/CHANGELOG.txt,v
retrieving revision 1.102
retrieving revision 1.103
diff -LCHANGELOG.txt -LCHANGELOG.txt -u -w -r1.102 -r1.103
--- CHANGELOG.txt
+++ CHANGELOG.txt
@@ -16,6 +16,9 @@
 </ul>
 <br>
 <ul>
+       <li>2004-06-07 AP        fix storing of existing files (didn't truncate)
+       <li>2004-06-06 AP        GRANT wizard
+       <li>2004-06-06 AP        ALTER 
AGGREGATE/FUNCTION/GROUP/LANGUAGE/SCHEMA/TRIGGER/USER RENAME TO for 7.4+
        <li>2004-06-04 AP        SQL Window: Try to preserve result column width
     <li>2004-06-04 AP        7.5 support: comment on cast/conversion/language
     <li>2004-06-04 AP        checks on column type changes
Index: utffile.cpp
===================================================================
RCS file: /projects/pgadmin3/src/utils/utffile.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -Lsrc/utils/utffile.cpp -Lsrc/utils/utffile.cpp -u -w -r1.5 -r1.6
--- src/utils/utffile.cpp
+++ src/utils/utffile.cpp
@@ -185,6 +185,15 @@
 
 
 
+wxFontEncoding wxUtfFile::GetEncoding()
+{
+    if (IsOpened())
+        return m_encoding;
+    else
+        return wxFONTENCODING_DEFAULT;
+}
+
+
 void wxUtfFile::WriteBOM()
 {
     wxFile::Seek(0);
Index: misc.cpp
===================================================================
RCS file: /projects/pgadmin3/src/utils/misc.cpp,v
retrieving revision 1.50
retrieving revision 1.51
diff -Lsrc/utils/misc.cpp -Lsrc/utils/misc.cpp -u -w -r1.50 -r1.51
--- src/utils/misc.cpp
+++ src/utils/misc.cpp
@@ -435,17 +435,19 @@
 bool FileWrite(const wxString &filename, const wxString &data, int format)
 {
     wxFontEncoding encoding;
+    wxUtfFile file(filename);
+
     if (format < 0)
+    {
+        encoding = file.GetEncoding();
+        if (encoding == wxFONTENCODING_DEFAULT)
         encoding = settings->GetUnicodeFile() ? wxFONTENCODING_UTF8 : 
wxFONTENCODING_SYSTEM;
+    }
     else
         encoding = format ? wxFONTENCODING_UTF8 : wxFONTENCODING_SYSTEM;
 
-    wxUtfFile file;
-
-    if (format < 0) // first try using the old encoding
-        file.Open(filename, wxFile::read_write, wxS_DEFAULT, encoding);
 
-    if (!file.IsOpened())
+    file.Close();
         file.Open(filename, wxFile::write, wxS_DEFAULT, encoding);
 
     if (file.IsOpened())
Index: utffile.h
===================================================================
RCS file: /projects/pgadmin3/src/include/utffile.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -Lsrc/include/utffile.h -Lsrc/include/utffile.h -u -w -r1.4 -r1.5
--- src/include/utffile.h
+++ src/include/utffile.h
@@ -28,6 +28,8 @@
     bool Open(const wxChar *szFileName, OpenMode mode = read, int access = 
wxS_DEFAULT, wxFontEncoding encoding=wxFONTENCODING_DEFAULT);
     void Attach(int fd, wxFontEncoding encoding=wxFONTENCODING_DEFAULT);
 
+    wxFontEncoding GetEncoding();
+
     off_t Seek(off_t ofs, wxSeekMode mode = wxFromStart);
     off_t SeekEnd(off_t ofs = 0) { return Seek(ofs, wxFromEnd); }
     off_t Tell() const { return wxFile::Tell() - m_bomOffset; }
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to