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