Changeset 7202 for trunk/daemon/remote.c
- Timestamp:
- Nov 30, 2008, 5:03:45 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/daemon/remote.c
r7163 r7202 271 271 272 272 static const char * list_keys[] = { 273 "downloadedEver", "eta", "id", 273 "eta", 274 "id", 274 275 "leftUntilDone", 275 276 "name", 276 "peersGettingFromUs", "peersSendingToUs", 277 "peersGettingFromUs", 278 "peersSendingToUs", 277 279 "rateDownload", 278 "rateUpload", "sizeWhenDone", "status", "uploadedEver" 280 "rateUpload", 281 "sizeWhenDone", 282 "status", 283 "uploadRatio" 279 284 }; 280 285 … … 583 588 584 589 static char* 590 strlratio2( char * buf, double ratio, size_t buflen ) 591 { 592 if( (int)ratio == TR_RATIO_NA ) 593 tr_strlcpy( buf, "None", buflen ); 594 else if( (int)ratio == TR_RATIO_INF ) 595 tr_strlcpy( buf, "Inf", buflen ); 596 else if( ratio < 10.0 ) 597 tr_snprintf( buf, buflen, "%'.2f", ratio ); 598 else if( ratio < 100.0 ) 599 tr_snprintf( buf, buflen, "%'.1f", ratio ); 600 else 601 tr_snprintf( buf, buflen, "%'.0f", ratio ); 602 return buf; 603 } 604 605 static char* 585 606 strlratio( char * buf, 586 607 double numerator, … … 588 609 size_t buflen ) 589 610 { 611 double ratio; 612 590 613 if( denominator ) 591 { 592 const double ratio = numerator / denominator; 593 if( ratio < 10.0 ) 594 tr_snprintf( buf, buflen, "%'.2f", ratio ); 595 else if( ratio < 100.0 ) 596 tr_snprintf( buf, buflen, "%'.1f", ratio ); 597 else 598 tr_snprintf( buf, buflen, "%'.0f", ratio ); 599 } 614 ratio = numerator / denominator; 600 615 else if( numerator ) 601 tr_strlcpy( buf, "Inf", buflen );616 ratio = TR_RATIO_INF; 602 617 else 603 tr_strlcpy( buf, "None", buflen ); 604 return buf; 618 ratio = TR_RATIO_NA; 619 620 return strlratio2( buf, ratio, buflen ); 605 621 } 606 622 … … 1011 1027 for( i = 0, n = tr_bencListSize( list ); i < n; ++i ) 1012 1028 { 1013 int64_t id, eta, status, up, down;1014 int64_t sizeWhenDone, leftUntilDone;1015 int64_t upEver, downEver;1016 const char * name;1029 int64_t id, eta, status, up, down; 1030 int64_t sizeWhenDone, leftUntilDone; 1031 double ratio; 1032 const char * name; 1017 1033 tr_benc * d = tr_bencListChild( list, i ); 1018 if( tr_bencDictFindInt( d, "downloadedEver", &downEver ) 1019 && tr_bencDictFindInt( d, "eta", &eta ) 1034 if( tr_bencDictFindInt( d, "eta", &eta ) 1020 1035 && tr_bencDictFindInt( d, "id", &id ) 1021 1036 && tr_bencDictFindInt( d, "leftUntilDone", &leftUntilDone ) … … 1025 1040 && tr_bencDictFindInt( d, "sizeWhenDone", &sizeWhenDone ) 1026 1041 && tr_bencDictFindInt( d, "status", &status ) 1027 && tr_bencDictFind Int( d, "uploadedEver", &upEver) )1042 && tr_bencDictFindDouble( d, "uploadRatio", &ratio ) ) 1028 1043 { 1029 1044 char etaStr[16]; … … 1043 1058 up / 1024.0, 1044 1059 down / 1024.0, 1045 strlratio ( ratioStr, downEver, upEver, sizeof( ratioStr ) ),1060 strlratio2( ratioStr, ratio, sizeof( ratioStr ) ), 1046 1061 getStatusString( d, statusStr, sizeof( statusStr ) ), 1047 1062 name );
Note: See TracChangeset
for help on using the changeset viewer.