Beispiel #1
0
inline void writeTapeRecord(MemoryWriter& tape, size_t command, ident_t value1, ident_t value2)
{
   tape.writeDWord(command);
   // write total length including equal sign
   tape.writeDWord(getlength(value1) + getlength(value2) + 2);
   if (!emptystr(value1)) {
      tape.writeLiteral(value1, getlength(value1));
      tape.writeChar('=');
   }
   if (!emptystr(value2)) {
      tape.writeLiteral(value2);
   }
   else tape.writeChar((char)0);
}
Beispiel #2
0
inline void writeTapeRecord(MemoryWriter& tape, size_t command, ident_t value, bool forward = false)
{
   tape.writeDWord(command);

   if (!emptystr(value)) {
      if (forward) {
         tape.writeDWord(getlength(value) + 1 + FORWARD_PREFIX_NS_LEN);
         tape.writeLiteral(FORWARD_PREFIX_NS, FORWARD_PREFIX_NS_LEN);
         tape.writeLiteral(value, getlength(value) + 1);
      }
      else {
         tape.writeDWord(getlength(value) + 1);
         tape.writeLiteral(value, getlength(value) + 1);
      }
   }
   else tape.writeDWord(0);
}