Bontiv-Sourceer source code viewer
Root | Help
./web-crawler/src/cgi/cgi.c
#include "cgi.h"
#include "../bdd-config.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

char* escape(MYSQL* sql, char* str)
{
  size_t len = strlen(str);
  char* ret = malloc(len * 2 + 1);
  
  mysql_real_escape_string(sql, ret, str, len);
  return ret;
}

void escape_free(MYSQL* sql, char** str)
{
  char* str2 = escape(sql, *str);
  //free(*str);
  *str = str2;
}

MYSQL *bdd_connect()
{
  MYSQL *sql, *tst;
  sql = mysql_init(NULL);
  if (sql == NULL)
    {
      fprintf(stderr, "Echec d'initialisation SQL: %s\n", mysql_error(sql));
      exit(1);
    }

  mysql_options(sql, MYSQL_READ_DEFAULT_GROUP, "client");
  tst = mysql_real_connect(sql, BDD_HOST, BDD_USER, BDD_PASS, BDD_BASE, 3306, NULL, 0);
  if (tst == NULL)
    {
      fprintf(stderr, "Echec de connexion SQL: %s\n", mysql_error(sql));
      exit(1);
    }
  return sql;
}

char* get_param(char* name)
{
  char* dest = getenv("QUERY_STRING");
  char temp[255];
  size_t i;
  short accept;

  if (dest)
    {
      accept = 1;
      dest = strtok(dest, "&");
      while (dest != NULL)
	{
	  for (i = 0; name[i] != 0 && accept; i++)
	    if (dest[i] != name[i])
	      accept = 0;

	  if (accept && dest[i] == '=')
	    return dest + i + 1;
	  else
	    return NULL;
      
	  dest = strtok(NULL, "&");
	}
    }
  else
    return NULL;
}

char* addslashes(char* str)
{
  char* ret;
  size_t len;

  ret = malloc(100);
  len = 0;
  
  return NULL;
}
Presented with Bontiv-Sourceer