ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/CCSFinger/CCSFinger.cs
(Generate patch)

Comparing CCSFinger/CCSFinger.cs (file contents):
Revision 719 by douglas, 2006-03-30T03:05:10-08:00 vs.
Revision 720 by douglas, 2006-03-30T04:25:10-08:00

# Line 101 | Line 101 | public class CCSFinger : ServiceBase
101                          foreach (KeyValuePair<string, List<Login>> login in logins)
102                          {
103                                  if (first)
104 <                                        first = true;
104 >                                        first = false;
105                                  else
106                                          writer.Write("\r\n");
107  
# Line 111 | Line 111 | public class CCSFinger : ServiceBase
111                                          if (login_.Id != uint.MaxValue)
112                                                  writer.Write("{0} on {1}, from {2}\r\n", login_.Status, login_.Id, login_.Client);
113  
114 <                                writer.Write("Last login {0:ddd MMM dd HH:mm} ({1})\r\n", login.Value[0].LastLogon.ToLocalTime(), login.Value[0].LastLogon.ToLocalTime().IsDaylightSavingTime() ? "PDT" : "PST");
114 >                                if (login.Value[0].LastLogon != new DateTime(1970, 1, 1))
115 >                                        writer.Write("Last login {0:ddd MMM dd HH:mm} ({1})\r\n", login.Value[0].LastLogon.ToLocalTime(), login.Value[0].LastLogon.ToLocalTime().IsDaylightSavingTime() ? "PDT" : "PST");
116 >                                else
117 >                                        writer.Write("Never logged in.\r\n");
118 >
119 >                                writer.Write("No Mail.\r\n");
120  
121                                  string[] files = { ".project", ".plan" };
122  
# Line 130 | Line 135 | public class CCSFinger : ServiceBase
135                                                                  break;
136                                                  }
137  
138 <                                                writer.Write("{0}\r\n", reader.ReadToEnd());
138 >                                                writer.Write("{0}", reader.ReadToEnd());
139 >                                        }
140 >                                        catch (Exception)
141 >                                        {
142 >                                                if (file == ".plan")
143 >                                                        writer.Write("No Plan.\r\n");
144                                          }
135                                        catch (IndexOutOfRangeException) {}
145                          }
146                  }
147  
# Line 228 | Line 237 | public class CCSFinger : ServiceBase
237                  }
238          }
239  
240 <        /*private static void Do()
240 >        private static void Do()
241          {
242                  TcpListener listener = null;
243  
# Line 254 | Line 263 | public class CCSFinger : ServiceBase
263                  {
264                          listener.Stop();
265                  }
266 <        }*/
266 >        }
267  
268          private static void Do(object client)
269          {
270 <                /*NetworkStream stream = ((TcpClient)client).GetStream();
270 >                NetworkStream stream = ((TcpClient)client).GetStream();
271                  byte[] buffer = new byte[1024];
272                  int size = 0, byte_;
273  
274                  while (size != buffer.Length && (byte_ = stream.ReadByte()) != '\r' && byte_ != '\n' && byte_ != -1)
275 <                        buffer[size++] = (byte)byte_;*/
275 >                        buffer[size++] = (byte)byte_;
276  
277 <                string line = /*Encoding.ASCII.GetString(buffer, 0, size)*/ Console.ReadLine();
277 >                string line = Encoding.ASCII.GetString(buffer, 0, size)/*Console.ReadLine()*/;
278                  List<string> names = new List<string>();
279                  bool full = false;
280  
# Line 275 | Line 284 | public class CCSFinger : ServiceBase
284                                  full = true;
285                          else
286                                  names.Add(name);
278
279                        Console.WriteLine(name);
287                  }
288  
289 <                //StreamWriter writer = new StreamWriter(stream, new UTF8Encoding(false));
289 >                StreamWriter writer = new StreamWriter(stream, new UTF8Encoding(false));
290  
291 <                /*writer*/Console.Write(names.Count > 0 ? new Finger(names) : new Finger(full));
292 <                //writer.Close();
291 >                writer/*Console*/.Write(names.Count > 0 ? new Finger(names) : new Finger(full));
292 >                writer.Close();
293                  //stream.Close();
294                  //((TcpClient)client).Close();
295          }
296  
297          public static int Main(string[] args)
298          {
299 <                Do(null);
299 >                Do(/*null*/);
300  
301                  return 0;
302          }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines