Kaynağa Gözat

Warning on GetRandomValue range limit (#2800)

Added a comment explaining the range limitations of GetRandomValue.
Added a run-time warning TRACELOG when GetRandomValue is called with an invalid range.
pull/2804/head
Pere001 3 yıl önce
işlemeyi yapan: GitHub
ebeveyn
işleme
c8fd93d356
Veri tabanında bu imza için bilinen anahtar bulunamadı GPG Anahtar Kimliği: 4AEE18F83AFDEB23
1 değiştirilmiş dosya ile 7 ekleme ve 0 silme
  1. +7
    -0
      src/rcore.c

+ 7
- 0
src/rcore.c Dosyayı Görüntüle

@ -2816,6 +2816,13 @@ int GetRandomValue(int min, int max)
max = min;
min = tmp;
}
// WARNING: Ranges higher than RAND_MAX will return invalid results. More specifically, if (max - min) > INT_MAX there will
// be an overflow, and otherwise if (max - min) > RAND_MAX the random value will incorrectly never exceed a certain threshold.
if ((unsigned int)(max - min) > (unsigned int)RAND_MAX)
{
TRACELOG(LOG_WARNING, "Invalid GetRandomValue arguments. Range should not be higher than %i.", RAND_MAX);
}
return (rand()%(abs(max - min) + 1) + min);
}

Yükleniyor…
İptal
Kaydet