bool SimplePropertiesSectionReader::getWord(Uint32 * dst){ if (peekWord(dst)) { step(1); return true; } return false; }
int print_image(int nrows, int ncols) { int npixels = nrows * ncols * N_AMPS; uint16_t *imageBuf; int ret; imageBuf = calloc(npixels, sizeof(uint16_t)); fprintf(stderr, "ID: 0x%08x\n", peekWord(R_ID)); ret = readImage(nrows, ncols, N_AMPS, imageBuf); fwrite(imageBuf, npixels, sizeof(uint16_t), stdout); return ret; }
bool SimpleProperties::Reader::readValue(){ if(!step(m_itemLen)){ m_type = InvalidValue; return false; } Uint32 tmp; if(!getWord(&tmp)){ m_type = InvalidValue; return false; } tmp = ntohl(tmp); m_key = tmp & 0xFFFF; m_type = (SimpleProperties::ValueType)(tmp >> 16); switch(m_type){ case Uint32Value: m_itemLen = 1; if(!peekWord(&m_ui32_value)) return false; m_ui32_value = ntohl(m_ui32_value); return true; case StringValue: case BinaryValue: if(!getWord(&tmp)) return false; m_strLen = ntohl(tmp); m_itemLen = (m_strLen + 3)/4; return true; default: m_itemLen = 0; m_type = InvalidValue; return false; } }
word QByteArrayBuilder::getWord(){ word w = peekWord(); if (length() >= 2) pointer += 2; //remove(0, 2); return w; }