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 <string.h> 25 #include "cgi.h" 26 #include "cgi_var.H" 27 28 void Cgi::decode_env() 29 { 30 e = new CgiVar ; 31 extern char* const* environ ; 32 char *pt; int i ; char var[1024] ; char val[1024] ; 33 for( i=0; environ[i]; i++ ) 34 { 35 pt = environ[i] ; 36 size_t j ; 37 for( j=0; (pt[j]!='=') && (pt[j]); j++ ) ; 38 memcpy( var, pt, j ) ; var[j] = 0 ; 39 size_t l = strlen( pt ) ; 40 if ( j == l ) 41 *val = 0 ; 42 else 43 { 44 j++ ; 45 memcpy( val, pt+j, l-j ) ; 46 val[l-j] = 0 ; 47 } 48 e->ajouter( var, val ) ; 49 } 50 } 51 52 const char* Cgi::env( const char* var ) 53 { 54 if (e) return e->chercher( var ) ; 55 return 0 ; 56 } 57
Date de génération : 22/09/2011 21:48