/*   -*- coding: utf-8 -*-  */

#include <stdio.h>
#include <curl/curl.h>
#include <stdlib.h>    /* for exit getenv */
#include "CharSetBuffer.h"
#include "Wicri.h"

extern char *optarg;
extern int   optind;
int getopt();


int main (int argc, char **argv)
{
  int cOption;
  
  Buffer *bufName;
  char *pageName;
  char *interWikiLink;
  int action; /*    1=view ; 2=raw */ 

  CURL *curl;
  CURLcode res;

  interWikiLink="wicri.fr";
  pageName="Accueil";
  action=2;

  while((cOption=getopt(argc,argv,"l:p:v"))!=EOF)
    {switch (cOption)
	{
	case 'l':
	  interWikiLink=optarg;
	  break;
	case 'p':
	  pageName=optarg;
	  break;
	case 'v':
	  action=1;
	  break;
	}
    }
  
  curl = curl_easy_init();
  bufName=NewBuffer();

  WicriBufferCatUrl(bufName, interWikiLink, pageName);
  if (action==2) BufferStrcat(bufName,"&action=raw");
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, BufferString(bufName));
 
    /* Perform the request, res will get the return code */ 
    res = curl_easy_perform(curl);
    /* Check for errors */ 
    if(res != CURLE_OK)
      fprintf(stderr, "curl_easy_perform() failed: %s\n",
              curl_easy_strerror(res));
 
    /* always cleanup */ 
    curl_easy_cleanup(curl);
  }
  if (action==2)putchar('\n');
  return 0;
}
