Changeset 8155
- Timestamp:
- Apr 5, 2009, 6:02:11 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gtk/conf.c
r8108 r8155 412 412 if( g_file_get_contents( oldfile, &contents, &contents_len, NULL ) 413 413 && !tr_bencLoad( contents, contents_len, &top, NULL ) 414 && t op.type == TYPE_DICT)414 && tr_bencIsDict( &top ) ) 415 415 { 416 416 unsigned int i; -
trunk/libtransmission/bencode.c
r8154 r8155 158 158 size_t count ) 159 159 { 160 assert( T YPE_LIST == val->type ||TYPE_DICT == val->type );160 assert( TR_TYPE_LIST == val->type || TR_TYPE_DICT == val->type ); 161 161 162 162 if( val->val.l.count + count > val->val.l.alloc ) … … 194 194 195 195 /* dictionary keys must be strings */ 196 if( ( parent->type == T YPE_DICT )197 && ( type != T YPE_STR )196 if( ( parent->type == TR_TYPE_DICT ) 197 && ( type != TR_TYPE_STR ) 198 198 && ( !( parent->val.l.count % 2 ) ) ) 199 199 return NULL; … … 235 235 return err; 236 236 237 node = getNode( top, parentStack, T YPE_INT );237 node = getNode( top, parentStack, TR_TYPE_INT ); 238 238 if( !node ) 239 239 return EILSEQ; … … 247 247 else if( *buf == 'l' ) /* list */ 248 248 { 249 tr_benc * node = getNode( top, parentStack, T YPE_LIST );249 tr_benc * node = getNode( top, parentStack, TR_TYPE_LIST ); 250 250 if( !node ) 251 251 return EILSEQ; 252 tr_bencInit( node, T YPE_LIST );252 tr_bencInit( node, TR_TYPE_LIST ); 253 253 tr_ptrArrayAppend( parentStack, node ); 254 254 ++buf; … … 256 256 else if( *buf == 'd' ) /* dict */ 257 257 { 258 tr_benc * node = getNode( top, parentStack, T YPE_DICT );258 tr_benc * node = getNode( top, parentStack, TR_TYPE_DICT ); 259 259 if( !node ) 260 260 return EILSEQ; 261 tr_bencInit( node, T YPE_DICT );261 tr_bencInit( node, TR_TYPE_DICT ); 262 262 tr_ptrArrayAppend( parentStack, node ); 263 263 ++buf; … … 292 292 return err; 293 293 294 node = getNode( top, parentStack, T YPE_STR );294 node = getNode( top, parentStack, TR_TYPE_STR ); 295 295 if( !node ) 296 296 return EILSEQ; … … 366 366 const tr_benc * child = val->val.l.vals + i; 367 367 368 if( ( child->type == T YPE_STR )368 if( ( child->type == TR_TYPE_STR ) 369 369 && ( child->val.s.i == len ) 370 370 && !memcmp( child->val.s.s, key, len ) ) … … 515 515 { 516 516 tr_bool found = FALSE; 517 tr_benc * child = tr_bencDictFindType( dict, key, T YPE_LIST );517 tr_benc * child = tr_bencDictFindType( dict, key, TR_TYPE_LIST ); 518 518 519 519 if( child ) … … 531 531 { 532 532 tr_bool found = FALSE; 533 tr_benc * child = tr_bencDictFindType( dict, key, T YPE_DICT );533 tr_benc * child = tr_bencDictFindType( dict, key, TR_TYPE_DICT ); 534 534 535 535 if( child ) … … 547 547 { 548 548 tr_bool found = FALSE; 549 tr_benc * child = tr_bencDictFindType( dict, key, T YPE_STR );549 tr_benc * child = tr_bencDictFindType( dict, key, TR_TYPE_STR ); 550 550 551 551 if( child ) … … 566 566 { 567 567 tr_bool found = FALSE; 568 tr_benc * child = tr_bencDictFindType( dict, key, T YPE_STR );568 tr_benc * child = tr_bencDictFindType( dict, key, TR_TYPE_STR ); 569 569 570 570 if( child ) … … 587 587 size_t byteCount ) 588 588 { 589 tr_bencInit( val, T YPE_STR );589 tr_bencInit( val, TR_TYPE_STR ); 590 590 val->val.s.i = byteCount; 591 591 val->val.s.s = tr_memdup( src, byteCount ); … … 597 597 int len ) 598 598 { 599 tr_bencInit( val, T YPE_STR );599 tr_bencInit( val, TR_TYPE_STR ); 600 600 601 601 val->val.s.s = tr_strndup( str, len ); … … 612 612 tr_bencInitBool( tr_benc * b, int value ) 613 613 { 614 tr_bencInit( b, T YPE_BOOL );614 tr_bencInit( b, TR_TYPE_BOOL ); 615 615 b->val.b = value != 0; 616 616 } … … 619 619 tr_bencInitReal( tr_benc * b, double value ) 620 620 { 621 tr_bencInit( b, T YPE_REAL );621 tr_bencInit( b, TR_TYPE_REAL ); 622 622 b->val.d = value; 623 623 } … … 626 626 tr_bencInitInt( tr_benc * b, int64_t value ) 627 627 { 628 tr_bencInit( b, T YPE_INT );628 tr_bencInit( b, TR_TYPE_INT ); 629 629 b->val.i = value; 630 630 } … … 633 633 tr_bencInitList( tr_benc * b, size_t reserveCount ) 634 634 { 635 tr_bencInit( b, T YPE_LIST );635 tr_bencInit( b, TR_TYPE_LIST ); 636 636 return tr_bencListReserve( b, reserveCount ); 637 637 } … … 647 647 tr_bencInitDict( tr_benc * b, size_t reserveCount ) 648 648 { 649 tr_bencInit( b, T YPE_DICT );649 tr_bencInit( b, TR_TYPE_DICT ); 650 650 return tr_bencDictReserve( b, reserveCount ); 651 651 } … … 672 672 item = &list->val.l.vals[list->val.l.count]; 673 673 list->val.l.count++; 674 tr_bencInit( item, T YPE_INT );674 tr_bencInit( item, TR_TYPE_INT ); 675 675 676 676 return item; … … 732 732 733 733 itemval = dict->val.l.vals + dict->val.l.count++; 734 tr_bencInit( itemval, T YPE_INT );734 tr_bencInit( itemval, TR_TYPE_INT ); 735 735 736 736 return itemval; … … 762 762 int64_t val ) 763 763 { 764 tr_benc * child = dictFindOrAdd( dict, key, T YPE_INT );764 tr_benc * child = dictFindOrAdd( dict, key, TR_TYPE_INT ); 765 765 tr_bencInitInt( child, val ); 766 766 return child; … … 770 770 tr_bencDictAddBool( tr_benc * dict, const char * key, tr_bool val ) 771 771 { 772 tr_benc * child = dictFindOrAdd( dict, key, T YPE_BOOL );772 tr_benc * child = dictFindOrAdd( dict, key, TR_TYPE_BOOL ); 773 773 tr_bencInitBool( child, val ); 774 774 return child; … … 778 778 tr_bencDictAddReal( tr_benc * dict, const char * key, double val ) 779 779 { 780 tr_benc * child = dictFindOrAdd( dict, key, T YPE_REAL );780 tr_benc * child = dictFindOrAdd( dict, key, TR_TYPE_REAL ); 781 781 tr_bencInitReal( child, val ); 782 782 return child; … … 1046 1046 if( val ) switch( val->type ) 1047 1047 { 1048 case T YPE_INT:1048 case TR_TYPE_INT: 1049 1049 walkFuncs->intFunc( val, user_data ); 1050 1050 break; 1051 1051 1052 case T YPE_BOOL:1052 case TR_TYPE_BOOL: 1053 1053 walkFuncs->boolFunc( val, user_data ); 1054 1054 break; 1055 1055 1056 case T YPE_REAL:1056 case TR_TYPE_REAL: 1057 1057 walkFuncs->realFunc( val, user_data ); 1058 1058 break; 1059 1059 1060 case T YPE_STR:1060 case TR_TYPE_STR: 1061 1061 walkFuncs->stringFunc( val, user_data ); 1062 1062 break; 1063 1063 1064 case T YPE_LIST:1064 case TR_TYPE_LIST: 1065 1065 if( val != node->val ) 1066 1066 tr_ptrArrayAppend( &stack, nodeNew( val ) ); … … 1069 1069 break; 1070 1070 1071 case T YPE_DICT:1071 case TR_TYPE_DICT: 1072 1072 if( val != node->val ) 1073 1073 tr_ptrArrayAppend( &stack, nodeNew( val ) ); … … 1256 1256 switch( parentState->bencType ) 1257 1257 { 1258 case T YPE_DICT:1258 case TR_TYPE_DICT: 1259 1259 { 1260 1260 const int i = parentState->childIndex++; … … 1269 1269 } 1270 1270 1271 case T YPE_LIST:1271 case TR_TYPE_LIST: 1272 1272 { 1273 1273 ++parentState->childIndex; -
trunk/libtransmission/bencode.h
r8154 r8155 24 24 enum 25 25 { 26 T YPE_INT = 1,27 T YPE_STR = 2,28 T YPE_LIST = 4,29 T YPE_DICT = 8,30 T YPE_BOOL = 16,31 T YPE_REAL = 3226 TR_TYPE_INT = 1, 27 TR_TYPE_STR = 2, 28 TR_TYPE_LIST = 4, 29 TR_TYPE_DICT = 8, 30 TR_TYPE_BOOL = 16, 31 TR_TYPE_REAL = 32 32 32 }; 33 33 … … 181 181 182 182 static TR_INLINE tr_bool tr_bencIsType ( const tr_benc * b, int type ) { return ( b != NULL ) && ( b->type == type ); } 183 static TR_INLINE tr_bool tr_bencIsInt ( const tr_benc * b ) { return tr_bencIsType( b, T YPE_INT ); }184 static TR_INLINE tr_bool tr_bencIsDict ( const tr_benc * b ) { return tr_bencIsType( b, T YPE_DICT ); }185 static TR_INLINE tr_bool tr_bencIsList ( const tr_benc * b ) { return tr_bencIsType( b, T YPE_LIST ); }186 static TR_INLINE tr_bool tr_bencIsString( const tr_benc * b ) { return tr_bencIsType( b, T YPE_STR ); }187 static TR_INLINE tr_bool tr_bencIsBool ( const tr_benc * b ) { return tr_bencIsType( b, T YPE_BOOL ); }188 static TR_INLINE tr_bool tr_bencIsReal ( const tr_benc * b ) { return tr_bencIsType( b, T YPE_REAL ); }183 static TR_INLINE tr_bool tr_bencIsInt ( const tr_benc * b ) { return tr_bencIsType( b, TR_TYPE_INT ); } 184 static TR_INLINE tr_bool tr_bencIsDict ( const tr_benc * b ) { return tr_bencIsType( b, TR_TYPE_DICT ); } 185 static TR_INLINE tr_bool tr_bencIsList ( const tr_benc * b ) { return tr_bencIsType( b, TR_TYPE_LIST ); } 186 static TR_INLINE tr_bool tr_bencIsString( const tr_benc * b ) { return tr_bencIsType( b, TR_TYPE_STR ); } 187 static TR_INLINE tr_bool tr_bencIsBool ( const tr_benc * b ) { return tr_bencIsType( b, TR_TYPE_BOOL ); } 188 static TR_INLINE tr_bool tr_bencIsReal ( const tr_benc * b ) { return tr_bencIsType( b, TR_TYPE_REAL ); } 189 189 190 190 /** -
trunk/libtransmission/tracker.c
r8091 r8155 345 345 const int peerCount = bePeers->val.l.count; 346 346 347 assert( bePeers->type == TYPE_LIST);347 assert( tr_bencIsList( bePeers ) ); 348 348 349 349 array = tr_new( uint8_t, peerCount * ( sizeof( tr_address ) + 2 ) ); … … 482 482 const int allAreSeeds = incomplete == 0; 483 483 484 if( t mp->type == TYPE_STR) /* "compact" extension */484 if( tr_bencIsString( tmp ) ) /* "compact" extension */ 485 485 { 486 486 publishNewPeersCompact( t, allAreSeeds, tmp->val.s.s, 487 487 tmp->val.s.i ); 488 488 } 489 else if( t mp->type == TYPE_LIST) /* original protocol */489 else if( tr_bencIsList( tmp ) ) /* original protocol */ 490 490 { 491 491 size_t byteCount = 0; … … 500 500 const int allAreSeeds = incomplete == 0; 501 501 502 if( tmp->type == T YPE_STR ) /* "compact" extension */502 if( tmp->type == TR_TYPE_STR ) /* "compact" extension */ 503 503 { 504 504 publishNewPeersCompact6( t, allAreSeeds, tmp->val.s.s,
Note: See TracChangeset
for help on using the changeset viewer.