check(0,7+i+j*256+(c != 0)*256*256);
check (0, 8 + i + j * 256 + (c != 0) * 256 * 256);
test_memset (void){  it = "memset";  (void) strcpy(one, "abcdefgh");  check(memset(one+1, 'x', 3) == one+1, 1);	/* Return value. */  equal(one, "axxxefgh", 2);		/* Basic test. */  (void) memset(one+2, 'y', 0);  equal(one, "axxxefgh", 3);		/* Zero-length set. */  (void) memset(one+5, 0, 1);  equal(one, "axxxe", 4);			/* Zero fill. */  equal(one+6, "gh", 5);			/* And the leftover. */  (void) memset(one+2, 010045, 1);  equal(one, "ax\045xe", 6);		/* Unsigned char convert. */  /* Test for more complex versions of memset, for all alignments and     lengths up to 256. This test takes a little while, perhaps it should     be made weaker? */  {    char data[512];    int i;    int j;    int k;    int c;    for (i = 0; i < 512; i++)      data[i] = 'x';    for (c = 0; c <= 'y'; c += 'y')  /* check for memset(,0,) and					memset(,'y',) */      for (j = 0; j < 256; j++)	for (i = 0; i < 256; i++)	  {	    memset(data+i,c,j);	    for (k = 0; k < i; k++)	      if (data[k] != 'x')		goto fail;	    for (k = i; k < i+j; k++)	      {		if (data[k] != c)		  goto fail;		data[k] = 'x';	      }	    for (k = i+j; k < 512; k++)	      if (data[k] != 'x')		goto fail;	    continue;	  fail:	    check(0,7+i+j*256+(c != 0)*256*256);	  }  }}