}
std::ifstream in(argv[1], std::ios::in | std::ios::binary);
odc::Store* s = odc::importDocument(in);
- std::cout << s->toString() << std::endl;
- std::cout << in.tellg() << " " << in.eof() << std::endl;
+ //std::cout << s->toString() << std::endl;
+ //std::cout << in.tellg() << " " << in.eof() << std::endl;
odc::TypePath path;
odc::ContainerModel(0).getTypePath(&path);
- std::cout << path.toString() << std::endl;
+ //std::cout << path.toString() << std::endl;
return 0;
}
Store* Reader::readStore() {
SHORTCHAR kind = readSChar();
if (kind == Store::NIL) {
- std::cout << "NIL STORE" << std::endl;
+ //std::cout << "NIL STORE" << std::endl;
return readNilStore();
} else if (kind == Store::LINK) {
- std::cout << "LINK STORE" << std::endl;
+ //std::cout << "LINK STORE" << std::endl;
return readLinkStore();
} else if (kind == Store::NEWLINK) {
- std::cout << "NEWLINK STORE" << std::endl;
+ //std::cout << "NEWLINK STORE" << std::endl;
return readNewLinkStore();
} else if (kind == Store::STORE) {
- std::cout << "STORE STORE" << std::endl;
+ //std::cout << "STORE STORE" << std::endl;
return readStoreOrElemStore(false);
} else if (kind == Store::ELEM) {
- std::cout << "ELEM STORE" << std::endl;
+ //std::cout << "ELEM STORE" << std::endl;
return readStoreOrElemStore(true);
} else {
- std::cout << std::hex << (unsigned int)kind << std::endl;
+ //std::cout << std::hex << (unsigned int)kind << std::endl;
throw 20;
}
}
Store *Reader::readStoreOrElemStore(bool isElem) {
INTEGER id = isElem ? d_elemList.size() : d_storeList.size();
TypePath path = readPath();
- std::cout << path.toString() << std::endl;
+ //std::cout << path.toString() << std::endl;
const std::string &type = path[0];
INTEGER comment = readInt();
std::streampos pos1 = d_rider.tellg();
d_store = x;
} else {
// join(d_store, x)
- std::cout << "Man, should have written join(.,.)" << std::endl;
+ //std::cout << "Man, should have written join(.,.)" << std::endl;
}
if (isElem) {
d_elemList.push_back(x);
d_store = alien;
} else {
// join(d_store, alien)
- std::cout << "Man, should have written join(.,.)" << std::endl;
+ //std::cout << "Man, should have written join(.,.)" << std::endl;
}
if (isElem) {
d_elemList.push_back(alien);
std::streampos next = down != 0 ? down : end;
while (d_rider.tellg() < end) {
if (d_rider.tellg() < next) { // for some reason, this means its a piece (unstructured)
- std::cout << "Alien Piece" << std::endl;
+ //std::cout << "Alien Piece" << std::endl;
size_t len = next - d_rider.tellg();
char *buf = new char[len];
d_rider.read(buf, len);
AlienComponent *comp = new AlienPiece(buf, len);
alien->getComponents().push_back(comp);
} else { // that means we've got a store
- std::cout << "Alien Store" << std::endl;
+ //std::cout << "Alien Store" << std::endl;
d_rider.seekg(next);
AlienComponent *comp = new AlienPart(readStore());
alien->getComponents().push_back(comp);
std::vector<Store *> dict;
INTEGER len = reader.readInt();
BYTE ano = reader.readByte();
- std::cout << "len " << len << " ano " << (int)ano << std::endl;
+ //std::cout << "len " << len << " ano " << (int)ano << std::endl;
int skip = 0;
while (ano != -1) {
if (ano == dict.size()) {
}
INTEGER pieceLen = reader.readInt();
if (pieceLen > 0) { // shortchar piece
- std::cout << "Found SChar piece" << std::endl;
+ //std::cout << "Found SChar piece" << std::endl;
d_pieces.push_back(new ShortPiece(pieceLen));
// NEW(sp); sp.len := len; sp.attr := attr;
// sp.file := rd.rider.Base(); sp.org := org; un := sp;
// INC(org, len) -- increment org by len ?
} else if (pieceLen < 0) { // longchar piece
- std::cout << "Found LChar piece" << std::endl;
+ //std::cout << "Found LChar piece" << std::endl;
assert(pieceLen % 2 == 0);
d_pieces.push_back(new LongPiece(pieceLen / 2));
// len := -len; ASSERT(~ODD(len), 100);
// lp.file := rd.rider.Base(); lp.org := org; un := lp;
// INC(org, len) -- increment org by len ?
} else { // embedded view
- std::cout << "Found View piece" << std::endl;
+ //std::cout << "Found View piece" << std::endl;
reader.readInt(); reader.readInt();
Store *view = reader.readStore(); // fixme: save somewhere
// NEW(v); v.len := 1; v.attr := attr;
SHORTCHAR *buf = new SHORTCHAR[d_len + 1];
reader.readSChar(buf, d_len);
buf[d_len] = 0;
+ std::cout.write(buf, d_len);
// std::ofstream ofs(piece, std::ios::out);
// ofs.write(buf, d_len);
// ofs.close();