Kaynağa Gözat

Add and use rand_between.

master
Richard Nyberg 19 yıl önce
ebeveyn
işleme
b2bf61dbf7
4 değiştirilmiş dosya ile 11 ekleme ve 2 silme
  1. +1
    -1
      btpd/btpd.c
  2. +1
    -1
      btpd/download_subr.c
  3. +7
    -0
      misc/subr.c
  4. +2
    -0
      misc/subr.h

+ 1
- 1
btpd/btpd.c Dosyayı Görüntüle

@@ -145,7 +145,7 @@ btpd_init(void)
m_peer_id[sizeof(BTPD_VERSION) - 1] = '|';
srandom(time(NULL));
for (int i = sizeof(BTPD_VERSION); i < 20; i++)
m_peer_id[i] = rint(random() * 255.0 / RAND_MAX);
m_peer_id[i] = rand_between(0, 255);

net_init();
ipc_init();


+ 1
- 1
btpd/download_subr.c Dosyayı Görüntüle

@@ -305,7 +305,7 @@ dl_choose_rarest(struct peer *p, uint32_t *res)
}
}
if (min_c > 1) {
min_c = 1 + rint((double)random() * (min_c - 1) / RAND_MAX);
min_c = rand_between(1, min_c);
for (i = min_i; min_c > 0; i++) {
if (dl_piece_startable(p, i)
&& tp->piece_count[i] == tp->piece_count[min_i]) {


+ 7
- 0
misc/subr.c Dosyayı Görüntüle

@@ -5,6 +5,7 @@
#include <fcntl.h>
#include <inttypes.h>
#include <limits.h>
#include <math.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
@@ -139,3 +140,9 @@ round_to_page(size_t size)
size += psize - rem;
return size;
}

long
rand_between(long min, long max)
{
return min + (long)rint((double)random() * (max - min) / RAND_MAX);
}

+ 2
- 0
misc/subr.h Dosyayı Görüntüle

@@ -18,4 +18,6 @@ int canon_path(const char *path, char **res);

size_t round_to_page(size_t size);

long rand_between(long min, long max);

#endif

Yükleniyor…
İptal
Kaydet