Changeset 7201
- Timestamp:
- Nov 30, 2008, 5:03:44 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/1.4x/daemon/remote.c
r7164 r7201 252 252 253 253 static const char * list_keys[] = { 254 "downloadedEver", "eta", "id", 254 "eta", 255 "id", 255 256 "leftUntilDone", 256 257 "name", 257 "peersGettingFromUs", "peersSendingToUs", 258 "peersGettingFromUs", 259 "peersSendingToUs", 258 260 "rateDownload", 259 "rateUpload", "sizeWhenDone", "status", "uploadedEver" 261 "rateUpload", 262 "sizeWhenDone", 263 "status", 264 "uploadRatio" 260 265 }; 261 266 … … 564 569 565 570 static char* 571 strlratio2( char * buf, double ratio, size_t buflen ) 572 { 573 if( (int)ratio == TR_RATIO_NA ) 574 tr_strlcpy( buf, "None", buflen ); 575 else if( (int)ratio == TR_RATIO_INF ) 576 tr_strlcpy( buf, "Inf", buflen ); 577 else if( ratio < 10.0 ) 578 tr_snprintf( buf, buflen, "%'.2f", ratio ); 579 else if( ratio < 100.0 ) 580 tr_snprintf( buf, buflen, "%'.1f", ratio ); 581 else 582 tr_snprintf( buf, buflen, "%'.0f", ratio ); 583 return buf; 584 } 585 586 static char* 566 587 strlratio( char * buf, 567 588 double numerator, … … 569 590 size_t buflen ) 570 591 { 592 double ratio; 593 571 594 if( denominator ) 572 { 573 const double ratio = numerator / denominator; 574 if( ratio < 10.0 ) 575 tr_snprintf( buf, buflen, "%'.2f", ratio ); 576 else if( ratio < 100.0 ) 577 tr_snprintf( buf, buflen, "%'.1f", ratio ); 578 else 579 tr_snprintf( buf, buflen, "%'.0f", ratio ); 580 } 595 ratio = numerator / denominator; 581 596 else if( numerator ) 582 tr_strlcpy( buf, "Inf", buflen );597 ratio = TR_RATIO_INF; 583 598 else 584 tr_strlcpy( buf, "None", buflen ); 585 return buf; 599 ratio = TR_RATIO_NA; 600 601 return strlratio2( buf, ratio, buflen ); 586 602 } 587 603 … … 992 1008 for( i = 0, n = tr_bencListSize( list ); i < n; ++i ) 993 1009 { 994 int64_t id, eta, status, up, down;995 int64_t sizeWhenDone, leftUntilDone;996 int64_t upEver, downEver;997 const char * name;1010 int64_t id, eta, status, up, down; 1011 int64_t sizeWhenDone, leftUntilDone; 1012 double ratio; 1013 const char * name; 998 1014 tr_benc * d = tr_bencListChild( list, i ); 999 if( tr_bencDictFindInt( d, "downloadedEver", &downEver ) 1000 && tr_bencDictFindInt( d, "eta", &eta ) 1015 if( tr_bencDictFindInt( d, "eta", &eta ) 1001 1016 && tr_bencDictFindInt( d, "id", &id ) 1002 1017 && tr_bencDictFindInt( d, "leftUntilDone", &leftUntilDone ) … … 1006 1021 && tr_bencDictFindInt( d, "sizeWhenDone", &sizeWhenDone ) 1007 1022 && tr_bencDictFindInt( d, "status", &status ) 1008 && tr_bencDictFind Int( d, "uploadedEver", &upEver) )1023 && tr_bencDictFindDouble( d, "uploadRatio", &ratio ) ) 1009 1024 { 1010 1025 char etaStr[16]; … … 1024 1039 up / 1024.0, 1025 1040 down / 1024.0, 1026 strlratio ( ratioStr, downEver, upEver, sizeof( ratioStr ) ),1041 strlratio2( ratioStr, ratio, sizeof( ratioStr ) ), 1027 1042 getStatusString( d, statusStr, sizeof( statusStr ) ), 1028 1043 name );
Note: See TracChangeset
for help on using the changeset viewer.