printf ("%d\n", iconv (cd_a, &from, &from_left, &to, &to_left));
printf ("%zd\n", iconv (cd_a, &from, &from_left, &to, &to_left));
main (void){  const char *dummy_codesets[] =  {    "ISO_8859-1", "ISO_8859-2", "ISO_8859-3", "ISO_8859-4",    "ISO_8859-5", "ISO_8859-6", "ISO_8859-7", "ISO_8859-8"  };  iconv_t dummy_cd[8], cd_a;  int i;  char buffer[1024], *to = buffer;  char *from = (char *) "foobar";  size_t to_left = 1024, from_left = 6;  /* load dummy modules */  for (i = 0; i < 8; i++)    if ((dummy_cd[i] = iconv_open (dummy_codesets[i], "UTF8")) == (iconv_t) -1)      exit (1);  /* load a module... */  if ((cd_a = iconv_open ("EUC-JP", "UTF8")) == (iconv_t) -1)    exit (1);  /* and close it once. we'll reload this later */  iconv_close (cd_a);  /* unload dummy modules */  for (i = 0; i < 8; i++)    iconv_close (dummy_cd[i]);  /* load the module again */  if ((cd_a = iconv_open ("EUC-JP", "UTF8")) == (iconv_t) -1)    exit (1);  puts ("This used to crash");  printf ("%d\n", iconv (cd_a, &from, &from_left, &to, &to_left));  iconv_close (cd_a);  puts ("works now");  return 0;}