Changeset 395

Show
Ignore:
Timestamp:
03/03/06 10:59:58
Author:
ben
Message:

Only save packets for keys!

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • openpgpsdk/trunk/src/accumulate.c

    r371 r395  
    1818    { 
    1919    ops_keyring_t *keyring; 
     20    ops_boolean_t accumulating:1; 
    2021    } accumulate_arg_t; 
    2122 
     
    3435    switch(content_->tag) 
    3536        { 
     37    case OPS_PARSER_PTAG: 
     38        arg->accumulating=ops_false; 
     39        break; 
     40 
    3641    case OPS_PTAG_CT_PUBLIC_KEY: 
    3742    case OPS_PTAG_CT_SECRET_KEY: 
    3843    case OPS_PTAG_CT_ENCRYPTED_SECRET_KEY: 
    3944        //      printf("New key\n"); 
     45        arg->accumulating=ops_true; 
    4046        ++keyring->nkeys; 
    4147        EXPAND_ARRAY(keyring,keys); 
     
    6268    case OPS_PTAG_CT_USER_ID: 
    6369        //      printf("User ID: %s\n",content->user_id.user_id); 
     70        assert(arg->accumulating); 
    6471        EXPAND_ARRAY(cur,uids); 
    6572        cur->uids[cur->nuids++]=content->user_id; 
     
    6774 
    6875    case OPS_PARSER_PACKET_END: 
     76        if(!arg->accumulating) 
     77            return OPS_RELEASE_MEMORY; 
     78 
    6979        EXPAND_ARRAY(cur,packets); 
    7080        cur->packets[cur->npackets++]=content->packet;