Changeset 2482 in Sophya for trunk/SophyaLib/BaseTools/ppfbinstream.cc
- Timestamp:
- Dec 9, 2003, 7:36:31 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/BaseTools/ppfbinstream.cc
r2481 r2482 8 8 9 9 10 /* 11 // strptime n'est pas defini sous Linux - Reza Mars 2000 12 #if defined(OS_LINUX) || defined(OS_MACOSX) 10 // strptime n'est pas defini sous Linux avec g++ avant gcc 3.x - Reza Mars 2000 11 #if defined(OS_LINUX) && defined(__GNUG__) && (__GNUC__ < 3) 13 12 extern "C" { 14 13 char *strptime(const char *buf, const char *format, struct tm *tm); 15 14 } 16 15 #endif 17 */18 16 19 17 #define MAXTAGLEN_V2 255 … … 61 59 _nbobjs = 0; // Nb total d'objets 62 60 _nbtlobjs = 0; // Nb d'objets de niveau 1 61 _nbrefs = 0; // Nb de reference d'objets 62 _maxnestlevel = 0; // Niveau maximum d'objets emboites 63 63 } 64 64 … … 83 83 rs += buff; 84 84 rs += CreationDateStr(); 85 sprintf(buff,"\n NbObjs= %ld NbTopLevObjs= %ld ", (long)NbObjects(), 86 (long)NbTopLevelObjects()); 85 sprintf(buff,"\n NbObjs= %ld NbTopLevObjs= %ld NbRefs= %ld MaxNest= %d ", 86 (long)NbObjects(), (long)NbTopLevelObjects(), 87 (long)NbReferences(), MaxNestedObjsLevel()); 87 88 rs += buff; 88 89 sprintf(buff,"\n NbPosTag= %ld NbNameTag= %ld ", (long)NbPosTags(), … … 172 173 rbuf[32] = '\0'; 173 174 struct tm tm; 174 /* #if !(defined(__MWERKS__) || defined(OS_MACOSX)) RZ-DEL */175 175 strptime(rbuf,"%d/%m/%Y %H:%M:%S GMT",&tm); 176 176 /* #else 177 177 sscanf(rbuf,"%2d/%2d/%4d %2d:%2d:%2d GMT",&tm.tm_mday,&tm.tm_mon,&tm.tm_year, 178 178 &tm.tm_hour,&tm.tm_min,&tm.tm_sec); 179 180 tm.tm_mon --; 181 tm.tm_year -= 1900; 182 #endif RZ-DEL */ 179 tm.tm_mon --; tm.tm_year -= 1900; 180 #endif */ 183 181 184 182 creationdate = mktime(&tm); … … 212 210 throw FileFormatExc("PPFBinaryInputStream::ReadNameTagTable() Corrupted file PPS_NAMETAG_TABLE not found"); 213 211 // Lecture nb de PosTag et nb d'objets dans le flot 214 GetI8(_nbpostag); 215 GetI8(_nbobjs); 216 GetI8(_nbtlobjs); 212 int_8 stats[8] = {0,0,0,0,0,0,0,0}; 213 GetI8s(stats, 8); 214 _nbpostag = stats[0]; 215 _nbobjs = stats[1]; 216 _nbtlobjs = stats[2]; 217 _nbrefs = stats[3]; 218 _maxnestlevel = stats[4]; 219 217 220 uint_8 ttsz,it; 218 221 // Lecture nombre de NameTag 219 Get U8(ttsz);222 GetRawU8(ttsz); 220 223 if (ttsz > 0) { 221 224 for(it=0; it<ttsz; it++) { 222 225 int_8 tpos; 223 226 string tname; 224 Get I8(tpos);227 GetRawI8(tpos); 225 228 GetStr(tname); 226 229 tags[tname] = tpos; … … 1022 1025 cout << " NbPosTag=" << NbPosTags() << " NbNameTag=" << tags.size() 1023 1026 << " NbObjs=" << NbObjects() << " NbTopLevObjs=" << NbTopLevelObjects() 1027 << " NbRefs=" << NbReferences() << " MaxNest=" << MaxNestedObjsLevel() 1024 1028 << endl << endl; 1025 1029 … … 1099 1103 else { 1100 1104 cout << "<PPS_NAMETAG_TABLE> tag at position " << hex << cpos << dec << endl; 1101 GetI8(i8); // nb pos tag 1102 GetI8(i8); // nb d'objets 1103 GetI8(i8); // nb objets toplevel 1104 GetU8(ui8); // nb de nametag 1105 int_8 stats[8]; 1106 GetI8s(stats,8); 1107 GetRawU8(ui8); // nb de nametag 1105 1108 for(int kt=0; kt<ui8; kt++) { 1106 1109 string tname; 1107 Get I8(i8);1110 GetRawI8(i8); 1108 1111 GetStr(tname); 1109 1112 if (lev > 0) … … 1254 1257 PutRawUByte(PPS_NAMETAG_TABLE); // NameTagTable tag 1255 1258 // Ecriture nb de PosTag et nb d'objets dans le flot 1256 PutI8(_nbpostag); 1257 PutI8(_nbobjs); 1258 PutI8(_nbtlobjs); 1259 int_8 stats[8] = {0,0,0,0,0,0,0,0}; 1260 stats[0] = _nbpostag; 1261 stats[1] = _nbobjs; 1262 stats[2] = _nbtlobjs; 1263 stats[3] = _nbrefs; 1264 stats[4] = _maxnestlevel; 1265 PutI8s(stats, 8); 1259 1266 // Ecriture nb de tag et les tags 1260 Put U8((uint_8)tags.size()); // Number of tags1267 PutRawU8((uint_8)tags.size()); // Number of tags 1261 1268 if (tags.size() > 0) { 1262 1269 for (map<string,int_8>::iterator i = tags.begin(); i != tags.end(); i++) { 1263 1270 int_8 pos = (*i).second; 1264 Put I8(pos);1271 PutRawI8(pos); 1265 1272 PutStr((*i).first); 1266 1273 }
Note:
See TracChangeset
for help on using the changeset viewer.