Commit Diff


commit - a5e92ba180acd2dc13ae43974b2fdf6711f0ef22
commit + e7be3a01f33d73711c9a4c55a5614750e8ee284b
blob - c8176280f96cac384aa0d51a7218c410472bc3d1
blob + c03fd801b3352986e54187c759f20e20f3e389bd
--- src/ngircd/client.c
+++ src/ngircd/client.c
@@ -9,7 +9,7 @@
  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
  * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
  *
- * $Id: client.c,v 1.21 2002/01/05 19:15:03 alex Exp $
+ * $Id: client.c,v 1.22 2002/01/05 20:08:17 alex Exp $
  *
  * client.c: Management aller Clients
  *
@@ -21,6 +21,9 @@
  * Server gewesen, so existiert eine entsprechende CONNECTION-Struktur.
  *
  * $Log: client.c,v $
+ * Revision 1.22  2002/01/05 20:08:17  alex
+ * - neue Funktion Client_NextHop().
+ *
  * Revision 1.21  2002/01/05 19:15:03  alex
  * - Fehlerpruefung bei select() in der "Hauptschleife" korrigiert.
  *
@@ -559,6 +562,18 @@ GLOBAL INT Client_Token( CLIENT *Client )
 } /* Client_Token */
 
 
+GLOBAL CLIENT *Client_NextHop( CLIENT *Client )
+{
+	CLIENT *c;
+	
+	assert( Client != NULL );
+
+	c = Client;
+	while( c->introducer && ( c->introducer != c ) && ( c->introducer != This_Server )) c = c->introducer;
+	return c;
+} /* Client_NextHop */
+
+
 GLOBAL CHAR *Client_Mask( CLIENT *Client )
 {
 	/* Client-"ID" liefern, wie sie z.B. fuer
blob - 484c2d0fb7623d1dd4dd49bc421d7c0399a5a6de
blob + 2644a7f96e68616b5e195f7d812d844a2703af5b
--- src/ngircd/client.h
+++ src/ngircd/client.h
@@ -9,11 +9,14 @@
  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
  * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
  *
- * $Id: client.h,v 1.14 2002/01/04 01:21:22 alex Exp $
+ * $Id: client.h,v 1.15 2002/01/05 20:08:17 alex Exp $
  *
  * client.h: Konfiguration des ngircd (Header)
  *
  * $Log: client.h,v $
+ * Revision 1.15  2002/01/05 20:08:17  alex
+ * - neue Funktion Client_NextHop().
+ *
  * Revision 1.14  2002/01/04 01:21:22  alex
  * - Client-Strukturen koennen von anderen Modulen nun nur noch ueber die
  *   enstprechenden (zum Teil neuen) Funktionen angesprochen werden.
@@ -139,6 +142,7 @@ GLOBAL CLIENT *Client_Introducer( CLIENT *Client );
 GLOBAL BOOLEAN Client_OperByMe( CLIENT *Client );
 GLOBAL INT Client_Hops( CLIENT *Client );
 GLOBAL INT Client_Token( CLIENT *Client );
+GLOBAL CLIENT *Client_NextHop( CLIENT *Client );
 
 GLOBAL BOOLEAN Client_HasMode( CLIENT *Client, CHAR Mode );