right after hitting send I found a line missing and some typo.
    //
    // The stack, as we are used to it, grows downwards.
    // If it wouldn't we had to use begin()/end() here.
    Values::const_reverse_iterator it = v.rbegin();
    Values::const_reverse_iterator end = v.rend();

    while(it != end) {
        switch(it->type) {
        case value::Int:
            *(int*)d = it->i;
            break;
        case value::String:
            *(char*)d = it->s.c_str();
            break;
        }
        ++it;
    }

should read


     //
     // The stack, as we are used to it, grows downwards.
     // If it wouldn't we had to use begin()/end() here.
     Values::const_reverse_iterator it = v.rbegin();
     Values::const_reverse_iterator end = v.rend();
     char* d = p;

     while(it != end) {
         switch(it->type) {
         case value::Int:
             *(int*)d = it->i;
             break;
         case value::String:
             *(const char**)d = it->s.c_str();
             break;
         }
         ++it;
         d += el;
     }


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to