if (retval != tc->retval || (retval != 0 && we.we_wordc != tc->wordc))
if (retval != tc->retval || (retval == 0 && we.we_wordc != tc->wordc))
testit (struct test_case_struct *tc){  static int test;  int retval;  wordexp_t we;  int bzzzt = 0;  int i;  if (tc->env)    setenv ("var", tc->env, 1);  else    unsetenv ("var");  printf ("Test %d: ", ++test);  retval = wordexp (tc->words, &we, tc->flags);  if (retval != tc->retval || (retval != 0 && we.we_wordc != tc->wordc))    bzzzt = 1;  else    for (i = 0; i < we.we_wordc; ++i)      if (strcmp (tc->wordv[i], we.we_wordv[i]) != 0)	{	  bzzzt = 1;	  break;	}  if (bzzzt)    {      printf ("FAILED\n");      printf ("Test words: <%s>, need retval %d, wordc %d\n",	      tc->words, tc->retval, tc->wordc);      printf ("Got retval %d, wordc %d: ", retval, we.we_wordc);      for (i = 0; i < we.we_wordc; ++i)	printf ("<%s> ", we.we_wordv[i]);      printf ("\n");    }  else    printf ("OK\n");  wordfree (&we);  return bzzzt;}