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 "cgi_var.H" 24 #include <string.h> 25 26 // 27 // -=> CLASSE : CgiVarItem 28 // 29 CgiVarItem::CgiVarItem( CgiVarItem* _suiv ) 30 { 31 suiv = _suiv ; var = 0 ; val = 0 ; 32 } 33 CgiVarItem::CgiVarItem( const char* _var, const char* _val, CgiVarItem* _suiv ) 34 { 35 suiv = _suiv ; var = newChar( _var ) ; val = newChar( _val ) ; 36 } 37 CgiVarItem::~CgiVarItem() 38 { 39 if ( var ) delete var ; var=0 ; 40 if ( val ) delete val ; val=0 ; 41 suiv=0 ; 42 } 43 void CgiVarItem::setVar( const char* pc ) 44 { 45 if ( var ) delete var ; 46 var = newChar( pc ) ; 47 } 48 void CgiVarItem::setVal( const char* pc ) 49 { 50 if ( val ) delete val ; 51 val = newChar( pc ) ; 52 } 53 char* CgiVarItem::newChar( const char* pc ) 54 { 55 char *pt = new char[strlen(pc)+1] ; 56 strcpy( pt, pc ) ; 57 return pt ; 58 } 59 // 60 // -=> CLASSE : CgiVar 61 // 62 CgiVar::CgiVar() 63 { 64 ancre = dernier = 0 ; 65 } 66 67 CgiVar::~CgiVar() 68 { 69 CgiVarItem* pt = ancre ; CgiVarItem* s ; 70 while( pt ) 71 { 72 s=pt->getSuiv() ; 73 delete pt ; 74 pt=s ; 75 } 76 } 77 78 bool CgiVar::ajouter( const char* var, const char* val ) 79 { 80 CgiVarItem* nouveau = new CgiVarItem( var, val ) ; 81 if ( dernier ) 82 dernier->setSuiv( nouveau ) ; 83 else 84 ancre = nouveau ; 85 dernier = nouveau ; 86 return true ; 87 } 88 89 const char* CgiVar::chercher( const char* var ) const 90 { 91 for( CgiVarItem* pt=ancre; pt; pt=pt->getSuiv() ) 92 if ( strcmp( pt->getVar(), var ) == 0 ) return pt->getVal() ; 93 return 0 ; 94 } 95
Date de génération : 22/09/2011 21:48