do_random_tests (void)
{
size_t i, j, n, align1, align2, len;
-
UCHAR *p1 = (UCHAR *) (buf1 + page_size) - 512;
UCHAR *p2 = (UCHAR *) (buf2 + page_size) - 512;
UCHAR *res;
for (n = 0; n < ITERATIONS; n++)
{
- /* For wcsrchr: align1 and align2 here mean align not in bytes, but in wchar_ts,
- in bytes it will equal to align * (sizeof (wchar_t)).
- For strrchr we need to check all alignments from 0 to 63 since some assembly implementations
- have separate prolog for alignments more 48. */
+ /* For wcsrchr: align1 and align2 here mean align not in bytes,
+ but in wchar_ts, in bytes it will equal to align * (sizeof
+ (wchar_t)). For strrchr we need to check all alignments from
+ 0 to 63 since some assembly implementations have separate
+ prolog for alignments more 48. */
align1 = random () & (63 / sizeof(CHAR));
if (random () & 1)
do_test (size_t align, size_t pos, size_t len, int seek_char, int max_char)
/* For wcsrchr: align here means align not in bytes,
but in wchar_ts, in bytes it will equal to align * (sizeof (wchar_t))
- len for wcschr here isn't in bytes but it's number of wchar_t symbols. */
+ len for wcschr here isn't in bytes but it's number of wchar_t symbols. */
{
size_t i;
CHAR *result;
CHAR *buf = (CHAR *) buf1;
-
+
align &= 7;
if ( (align + len) * sizeof(CHAR) >= page_size)
return;
if (!buf[align + i])
buf[align + i] = (random () * random ()) & max_char;
if (!buf[align + i])
- buf[align + i] = 1;
+ buf[align + i] = 1;
if ((i > pos || pos >= len) && buf[align + i] == seek_char)
buf[align + i] = seek_char + 10 + (random () & 15);
}
if (pos >= len)
len = pos + (random () & 7);
if (len + align >= 512)
- len = 511 - align - (random () & 7);
+ len = 511 - align - (random () & 7);
seek_char = random () & 255;
if (seek_char && pos == len)
{
}
j = len + align + 64;
if (j > 512)
- j = 512;
+ j = 512;
for (i = 0; i < j; i++)
{
if (pos <= len)
result = (CHAR *) (p + pos + align);
else if (seek_char == 0)
- result = (CHAR *) (p + len + align);
+ result = (CHAR *) (p + len + align);
else
result = NULL;