#include <stdio.h>
#include "map.h"

void printusage(char * argv0)
{
  fprintf(stderr,
	  "USAGE: %s map_file\n", argv0);
}

// Spits out a queryfile to stream fp
void printquery(Query_t * query, FILE * fp)
{
  fprintf(fp,
	  "%lu\n",
	  query->Num_Paths);

  Index_t i;
  for (i=0; i < query->Num_Paths; i++)
    {
      fprintf(fp, "%lu %lu\n",
	      query->Path_List_Ptr[i].From, query->Path_List_Ptr[i].To);
    }
}

int main(int argc, char * argv[])
{
  if (argc != 2)
    {
      printusage(argv[0]);
      return 2;
    }

  FILE * fin = fopen(argv[1],"r");
  if (NULL == fin)
    {
      printusage(argv[0]);
      return 1;
    }

  Query_t * query = Load_Query(fin);
  if (NULL == query)
    {
      printusage(argv[0]);
      return 1;
    }

  printquery(query, stdout);

  Delete_Query(query);

  return 0;
}
