/* csvinfo - example usage of libcsvtool
** Usage: csvinfo file.csv
**    or  csvinfo
*/
#include <stdio.h>
#include <stdlib.h>
#include <csvtool.h>

int main(int argc, char *argv[])
{
  char *fname = NULL;			/* NULL implies stdin */
  void *handle;

  if (argc == 2) fname = argv[1];

  puts("==== CSVTEST ====\n");

  if (handle = csvOpen(fname))
  {
    size_t rowCount = csvRowCount(handle);

    printf("Table contains %u rows\n",rowCount);
    for (size_t row = 0; row < rowCount; ++row)
    {
      size_t cellCount = csvCellCount(handle,row);
      printf("\n  Row %u contains %u cells\n",row+1,cellCount);
      for (size_t cell = 0; cell < cellCount; ++cell)
      {
	char *datum = csvCellData(handle,row,cell);
	printf("    Cell %4u contains ",cell+1);
	if (datum)
	  printf("[%s]\n",datum);
	else
	  puts("NULL");
      }
    }
    csvClose(handle);
  }
  else printf("Failure in csvOpen()\n");
  return 0;
}
