crabs_firewall-3.0.1 ©2005-2011 - Christophe CAZAJUS (crabs-mettre_le_signe_at-crabs-world.com)
1 /* 2 **============================================================================= 3 ** crabs_firewall-3.0.1 : Firewall-Masquerade avec interface http 4 ** Copyright (C) 2005-2011 : Christophe CAZAJUS (crabs-mettre_le_signe_at-crabs-world.com) 5 ** 6 ** Ce source fait partie d'un projet logiciel libre. Vous pouvez le distribuer 7 ** et/ou le modifier en respectant les termes de la GNU General Public License 8 ** version 2 ou (suite a votre propre choix) une version ulterieure. 9 ** 10 ** Ce programme est distribue dans l'espoir qu'il puisse etre utile, mais 11 ** sans aucune garantie, meme si il est associe a un produit qui vous en 12 ** propose une. Conformez-vous a la GNU General Public License pour avoir 13 ** plus de precisions. 14 ** 15 ** L'auteur ne peut etre tenu responsable de l'utilisation faite des 16 ** composantes associees a ce projet (en partie ou dans leur totalite). 17 ** 18 ** Une copie du fichier de la GNU GPL est fournie dans le repertoire DOC 19 ** de ce projet sous le nom gnu_gpl.txt 20 ** 21 **============================================================================= 22 */ 23 #include <sys/types.h> 24 #include <strings.h> 25 #include <iostream> 26 #include <stdlib.h> 27 #include <string.h> 28 #include "cgi.h" 29 #include "cgi_var.H" 30 using namespace std ; 31 32 void Cgi::escape_caracteres( char* str ) 33 { 34 size_t len = strlen( str ) ; 35 size_t i,j ; 36 for( i=j=0; i<len; i++ ) 37 { 38 if ( str[i] != '%' ) 39 { 40 str[j++]=str[i] ; 41 continue ; 42 } 43 int hex1 = 0 ; 44 if ( (str[i+1] >= '0') && (str[i+1] <= '9') ) hex1 = str[i+1]-'0' ; 45 if ( (str[i+1] >= 'A') && (str[i+1] <= 'F') ) hex1 = str[i+1]-'A'+10 ; 46 int hex2 = 0 ; 47 if ( (str[i+2] >= '0') && (str[i+2] <= '9') ) hex2 = str[i+2]-'0' ; 48 if ( (str[i+2] >= 'A') && (str[i+2] <= 'F') ) hex2 = str[i+2]-'A'+10 ; 49 str[j++] = (char) (hex1*16+hex2) ; 50 i+=2 ; 51 } 52 str[j] = 0 ; 53 } 54
Date de génération : 22/09/2011 21:48