find_snoopee() entfernt.

Funktion kann einfacher ohne Schleife ueber alle
user durch Abfrage mit interactive_info implementiert
werden.

Change-Id: I4906692792e85d0c0d0f415ea733acc90582aa74
diff --git a/secure/simul_efun/spare/simul_efun.c b/secure/simul_efun/spare/simul_efun.c
index 6620847..b9a633a 100644
--- a/secure/simul_efun/spare/simul_efun.c
+++ b/secure/simul_efun/spare/simul_efun.c
@@ -191,18 +191,6 @@
 
 // * Snoopen und was dazugehoert
 
-// Findet zu einem gegegeben eingeloggten, interaktivem User <who> den von ihr
-// gesnoopten Interactive.
-private object find_snoopee(object who)
-{
-  foreach (object u: users())
-  {
-    if (who == efun::interactive_info(u, II_SNOOP_NEXT))
-      return u;
-  }
-  return 0;
-}
-
 private string Lcut(string str) {
   return str[5..11]+str[18..];
 }
@@ -210,12 +198,13 @@
 nomask varargs int snoop( object snooper, object snoopee )
 {
     int ret;
-    object snooper0, snooper1, snooper2, snooper3;
+    object snooper1, snooper2, snooper3;
 
     if( !objectp(snooper) || snooper == snoopee || !PO )
        return 0;
 
-    snooper0 = find_snoopee(snooper);
+    // Evtl. gibt es bereits einen snoopee, der von snopper gesnoopt wird?
+    object orig_snoopee = efun::interactive_info(snooper, II_SNOOP_PREV);
 
      if(snoopee)
      {
@@ -267,12 +256,12 @@
                                                snooper2,
                                                environment(snooper2) ),
                             100000 );
-                   if (snooper0)
+                   if (orig_snoopee)
                       CHMASTER->send( "Snoop", snooper1,
                                     sprintf( "%s *OFF* %s (%O)",
                                             capitalize(getuid(snooper1)),
-                                            capitalize(getuid(snooper0)),
-                                            environment(snooper0) ) );
+                                            capitalize(getuid(orig_snoopee)),
+                                            environment(orig_snoopee) ) );
 
                    CHMASTER->send( "Snoop", snooper1,
                                  sprintf("%s -> %s (%O)",
@@ -314,13 +303,13 @@
                                          snooper, snoopee, environment(snoopee) ),
                      100000 );
 
-            if (snooper0)
+            if (orig_snoopee)
             {
                CHMASTER->send( "Snoop", snooper,
                              sprintf( "%s *OFF* %s (%O).",
                                      capitalize(getuid(snooper)),
-                                     capitalize(getuid(snooper0)),
-                                     environment(snooper0) ) );
+                                     capitalize(getuid(orig_snoopee)),
+                                     environment(orig_snoopee) ) );
             }
 
             CHMASTER->send( "Snoop", snooper, sprintf( "%s -> %s (%O).",
@@ -350,28 +339,28 @@
         if ( (snooper == PO ||
               query_wiz_grp(geteuid(PO)) > query_wiz_grp(snooper) ||
               (query_wiz_grp(geteuid(PO)) == query_wiz_grp(snooper) &&
-              efun::interactive_info(PO, II_SNOOP_NEXT) == snooper)) && snooper0 )
+              efun::interactive_info(PO, II_SNOOP_NEXT) == snooper)) && orig_snoopee )
         {
             if ( !IS_DEPUTY(snooper) )
             {
                log_file( SNOOPLOGFILE, sprintf( "%s: %O %O %O *OFF*\n",
                                             Lcut(dtime(time())), snooper,
-                                            snooper0,
-                                            environment(snooper0) ),
+                                            orig_snoopee,
+                                            environment(orig_snoopee) ),
                         100000 );
 
                 CHMASTER->send( "Snoop", snooper,
                               sprintf( "%s *OFF* %s (%O).",
                                       capitalize(getuid(snooper)),
-                                      capitalize(getuid(snooper0)),
-                                      environment(snooper0) ) );
+                                      capitalize(getuid(orig_snoopee)),
+                                      environment(orig_snoopee) ) );
             }
             else
             {
                log_file( ASNOOPLOGFILE, sprintf( "%s: %O %O %O *OFF*\n",
                                              Lcut(dtime(time())), snooper,
-                                             snooper0,
-                                             environment(snooper0) ),
+                                             orig_snoopee,
+                                             environment(orig_snoopee) ),
                         100000 );
             }
             return efun::snoop(snooper);