commit - 8f7e7d666a1f0272f5ea29f8c02c9f0c6742d03b
commit + 3543c2220adf82efe549b39030741766717b8f25
blob - ad04717c664bdd81ced6b10ab97be635c81bc721
blob + bab9c6c5ec96d18fff4374c455f2b6b67bb06eea
--- src/ngircd/parse.c
+++ src/ngircd/parse.c
* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
*
- * $Id: parse.c,v 1.18 2002/01/07 15:29:11 alex Exp $
+ * $Id: parse.c,v 1.19 2002/01/09 01:08:42 alex Exp $
*
* parse.c: Parsen der Client-Anfragen
*
* $Log: parse.c,v $
+ * Revision 1.19 2002/01/09 01:08:42 alex
+ * - Parses handhabt Leerzeichen zw. Parametern nun etwas "lockerer".
+ *
* Revision 1.18 2002/01/07 15:29:11 alex
* - Status-Codes an den Server selber werden ignoriert, besseres Logging.
*
ptr = strchr( Request, ' ' );
if( ! ptr ) return Parse_Error( Idx, "Prefix without command!?" );
*ptr = '\0';
+#ifndef STRICT_RFC
+ /* multiple Leerzeichen als Trenner zwischen
+ * Prefix und Befehl ignorieren */
+ while( *(ptr + 1) == ' ' ) ptr++;
+#endif
start = ptr + 1;
}
else start = Request;
/* Befehl */
ptr = strchr( start, ' ' );
- if( ptr ) *ptr = '\0';
+ if( ptr )
+ {
+ *ptr = '\0';
+#ifndef STRICT_RFC
+ /* multiple Leerzeichen als Trenner vor
+ *Parametertrennern ignorieren */
+ while( *(ptr + 1) == ' ' ) ptr++;
+#endif
+ }
req.command = start;
if( ! Validate_Command( &req )) return Parse_Error( Idx, "Invalid command" );
{
req.argv[req.argc] = start;
ptr = strchr( start, ' ' );
- if( ptr ) *ptr = '\0';
+ if( ptr )
+ {
+ *ptr = '\0';
+#ifndef STRICT_RFC
+ /* multiple Leerzeichen als
+ * Parametertrenner ignorieren */
+ while( *(ptr + 1) == ' ' ) ptr++;
+#endif
+ }
}
req.argc++;