summaryrefslogtreecommitdiffstats
path: root/src/marshal.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2013-04-02 19:27:49 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2013-04-02 19:27:49 (GMT)
commitebf4b3641c9149eaf4468aa8df64e1c7517e5f0c (patch)
tree23804fcf753b3487b9a1ea28d4d28b71fa4ae208 /src/marshal.cpp
parentdeaa34e0c1d990f37fe00e465ac7a22f705904f0 (diff)
downloadDoxygen-ebf4b3641c9149eaf4468aa8df64e1c7517e5f0c.zip
Doxygen-ebf4b3641c9149eaf4468aa8df64e1c7517e5f0c.tar.gz
Doxygen-ebf4b3641c9149eaf4468aa8df64e1c7517e5f0c.tar.bz2
Release-1.8.3.1-20130402
Diffstat (limited to 'src/marshal.cpp')
-rw-r--r--src/marshal.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/marshal.cpp b/src/marshal.cpp
index da71843..a6b3e75 100644
--- a/src/marshal.cpp
+++ b/src/marshal.cpp
@@ -33,6 +33,12 @@ void marshalUInt(StorageIntf *s,uint v)
s->write((const char *)b,4);
}
+void marshalUInt64(StorageIntf *s,uint64 v)
+{
+ marshalUInt(s, uint(v>>32));
+ marshalUInt(s, uint(v&0xFFFFFFFF));
+}
+
void marshalBool(StorageIntf *s,bool b)
{
char c = b;
@@ -345,7 +351,7 @@ void marshalEntry(StorageIntf *s,Entry *e)
marshalInt(s,e->section);
marshalInt(s,(int)e->protection);
marshalInt(s,(int)e->mtype);
- marshalInt(s,e->spec);
+ marshalUInt64(s,e->spec);
marshalInt(s,e->initLines);
marshalBool(s,e->stat);
marshalBool(s,e->explicitExternal);
@@ -426,6 +432,13 @@ uint unmarshalUInt(StorageIntf *s)
return result;
}
+uint64 unmarshalUInt64(StorageIntf *s)
+{
+ uint64 result=uint64(unmarshalUInt(s))<<32;
+ result|=unmarshalUInt(s);
+ return result;
+}
+
bool unmarshalBool(StorageIntf *s)
{
char result;
@@ -719,7 +732,7 @@ Entry * unmarshalEntry(StorageIntf *s)
e->section = unmarshalInt(s);
e->protection = (Protection)unmarshalInt(s);
e->mtype = (MethodTypes)unmarshalInt(s);
- e->spec = unmarshalInt(s);
+ e->spec = unmarshalUInt64(s);
e->initLines = unmarshalInt(s);
e->stat = unmarshalBool(s);
e->explicitExternal = unmarshalBool(s);