Soucis de majuscules.
#4
Déjà :
tcl
if { [string tolower $pseudo] }


Ca, se sera toujours vrai, tu testes juste que le string tolower fonctionne.

Ensuite, il faut qu'on sache ce que contient $arg. Et tu crées des variables qui sont identiques à plusieurs reprise, et aussi tu mets du code qui ne fait rien, comme par exemple:
tcl
file dirname $configs(nickdir)/$dir


Citation :file dirname name: Renvoie un nom comportant tout les composants de chemin de name excluant le dernier élément. Si name est un nom de fichier relatif et contient seulement un élément de chemin, alors retourne "." (ou ":" sur le Macintosh). Si name se refère à un répertoire racine, alors le répertoire racine est renvoyé. Par exemple, file dirname c:/ retourne c:/. Notez que la substitution tilde sera effectuée seulement si c'est nécessaire pour que la commande aboutisse. Par exemple, file dirname ~/src/foo.c retourne ~/src, alors que file dirname ~ retourne /home (ou quelque chose de similaire).
Donc, ça renvoie quelque chose, il doit y avoir un set ... avant file dirname.

Voici une version un peu corrigée
tcl
proc controling_server {idx arg} {
   variable OperServ
   set arg1 [lindex [split $arg " "] 0]
   set arg2 [lindex [split $arg " "] 1]
   set arg3 [lindex [split $arg " "] 2]
   set arg4 [lindex [split $arg " "] 3]
   set arg5 [lindex [split $arg " "] 4]
   set arg6 [lindex [split $arg " "] 5]
   set arg7 [lindex [split $arg " "] 6]
   set arg8 [lindex [split $arg " "] 7]
   set arg10 [string trim [lrange [split $arg " "] 3 end] :]
   set event [lindex $arg 1]
   set nick [string trim [lindex $arg 0] :]
   set pseudo [string trim $arg1 :]
   set commande [string trim [lindex $arg 3] :]
   set destinataire [lindex $arg 2]
   if {$arg2=="PING"} {
      putdcc $OperServ(idx) ":$OperServ(serv) PONG $OperServ(ip) :$OperServ(serv)"
    }
    if {$event=="PRIVMSG"} {
      if {$destinataire=="$OperServ(nick)"} {
         if {$commande=="VERSION"} {
            putdcc $OperServ(idx) ":$OperServ(nick) NOTICE $pseudo :[::msgcat::mc m7]"
            putdcc $OperServ(idx) ":$OperServ(nick) PRIVMSG $OperServ(log) :[::msgcat::mc m5] [::msgcat::mc m8] \037\0034$pseudo\037\0034"
         }
      }
    if {$destinataire=="$OperServ(nickp)"} {
          if {$commande=="register"} {
             set dir [string tolower $arg5]
             set dir [::nickdebug $dir]
             set configs(nickdir) "/home/ircshell/ircd/Nick"
             if {$dir==""} {
                putdcc $OperServ(idx) ":$OperServ(nickp) NOTICE $pseudo :[::msgcat::mc m9]"
                return
             }
             if { [file exist "$configs(nickdir)/$dir"] } {
                putdcc $OperServ(idx) ":$OperServ(nickp) NOTICE $pseudo :[::msgcat::mc m10]"
                return
             }
             catch {exec mkdir $configs(nickdir)/$dir}
             set fo "[open $configs(nickdir)/$dir/identd.txt w]"
             puts -nonewline $fo [lindex $arg 5]
             close $fo
             set fo "[open $configs(nickdir)/$dir/clef-reg.txt w]"
             puts -nonewline $fo [lindex $arg 6]
             close $fo
             putdcc $OperServ(idx) ":$OperServ(nickp) NOTICE $pseudo :[::msgcat::mc m12] [::msgcat::mc m13]"
             putdcc $OperServ(idx) ":$OperServ(nick) PRIVMSG $OperServ(log) :[::msgcat::mc m5] [::msgcat::mc m11] \037\0034$pseudo\037\0034"
          }
        }
	}
}


Répondre


Messages dans ce sujet
Soucis de majuscules. - par aliasangelius - 23/07/2012, 20:59
RE: Soucis de majuscules. - par CrazyCat - 23/07/2012, 21:08
RE: Soucis de majuscules. - par aliasangelius - 24/07/2012, 14:34
RE: Soucis de majuscules. - par CrazyCat - 24/07/2012, 17:08
RE: Soucis de majuscules. - par aliasangelius - 25/07/2012, 11:09
RE: Soucis de majuscules. - par CrazyCat - 25/07/2012, 11:12
RE: Soucis de majuscules. - par aliasangelius - 25/07/2012, 11:14

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté