Update of /cvsroot/sharedaemon/core/src
In directory sc8-pr-cvs1:/tmp/cvs-serv24471
Modified Files:
ParseClass.cpp
Log Message:
Fixed a bug which caused a structure to be not initialied on some circumstances (and thus causing a crash
Index: ParseClass.cpp
===================================================================
RCS file: /cvsroot/sharedaemon/core/src/ParseClass.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- ParseClass.cpp 12 Dec 2003 18:20:21 -0000 1.15
+++ ParseClass.cpp 13 Dec 2003 05:06:15 -0000 1.16
@@ -760,7 +760,6 @@
struct write_struct * & last
) const {
const struct parsestruct * ps;
- struct write_struct * prev;
size_t i,done;
u8 * dataptr;
@@ -777,10 +776,6 @@
// NonArray:
for (i=0;i<nume;++i) {
for (ps=type;ps;ps=ps->next) {
- prev=last;
- last->next=new struct write_struct;
- last=last->next;
-
if (ps->flags&PF_ARRAY0
|| ps->type_id==STRUCT) {
u32 num;
@@ -805,13 +800,15 @@
return call_done;
}
- delete last;
- prev->next=call_first;
+ last->next=call_first;
last=call_last;
done +=call_done;
}
} else {
+ last->next=new struct write_struct;
+ last=last->next;
+
switch (ps->type_id) {
case WORD:
last->data=new u8[2];
@@ -850,6 +847,7 @@
return done;
Array:
+ struct write_struct * prev;
size_t n=nume;
struct tag * tag;
u8 * ptr;
|