return (unsigned char)buf;
}
+// Must be at global scope for VC++ 5
+extern "C" double ConvertFromIeeeExtended(const unsigned char *bytes);
+
double wxDataStream::ReadDouble()
{
- extern "C" double ConvertFromIeeeExtended(const unsigned char *bytes);
-
#if USE_APPLE_IEEE
char buf[10];
return i_strg;
}
+wxString wxDataStream::ReadString()
+{
+ wxString wx_string;
+ char *string;
+ unsigned long len;
+
+ if (!m_istream)
+ return "";
+
+ len = Read32();
+ string = new char[len+1];
+
+ m_istream->read(string, len);
+
+ string[len] = 0;
+ wx_string = string;
+ delete string;
+
+ return wx_string;
+}
+
void wxDataStream::Write32(unsigned long i)
{
char buf[4];
void wxDataStream::WriteLine(const wxString& line)
{
+#ifdef __WINDOWS__
+ wxString tmp_string = line + "\r\n";
+#else
wxString tmp_string = line + '\n';
+#endif
if (!m_ostream)
return;
m_ostream->write((const char *) tmp_string, tmp_string.Length());
}
+void wxDataStream::WriteString(const wxString& string)
+{
+ if (!m_ostream)
+ return;
+
+ Write32(string.Length());
+ m_ostream->write((const char *) string, string.Length());
+}
+
+// Must be at global scope for VC++ 5
+extern "C" void ConvertToIeeeExtended(double num, unsigned char *bytes);
+
void wxDataStream::WriteDouble(double d)
{
- extern "C" void ConvertToIeeeExtended(double num, unsigned char *bytes)
char buf[10];
if (!m_ostream)
return;
+#if USE_APPLE_IEEE
ConvertToIeeeExtended(d, (unsigned char *)buf);
+#else
+# pragma warning "wxDataStream::WriteDouble() not using IeeeExtended - will not work!"
+ buf[0] = '\0';
+#endif
m_ostream->write(buf, 10);
}