[624] in BarnOwl Developers

home help back first fref pref prev next nref lref last post

[D-O-H] r725 - trunk/owl

daemon@ATHENA.MIT.EDU (chmrr@MIT.EDU)
Thu Oct 29 18:08:03 2009

Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
To: dirty-owl-hackers@mit.edu
From: chmrr@MIT.EDU
Reply-To: dirty-owl-hackers@MIT.EDU
Date: Fri, 01 Jun 2007 04:01:56 -0400

Author: chmrr
Date: 2007-06-01 04:01:55 -0400 (Fri, 01 Jun 2007)
New Revision: 725

Modified:
   trunk/owl/
   trunk/owl/logging.c
   trunk/owl/perlwrap.pm
Log:
 r1604@utwig:  chmrr | 2007-06-01 04:01:29 -0400
  * Outgoing messages now log as much information as incomign messages
  * Code reuse is a Good Thing



Property changes on: trunk/owl
___________________________________________________________________
Name: svk:merge
   - 06e3988a-d725-0410-af47-c5dd11e74598:/local/barnowl:1380
8baf6839-b125-0410-9df9-922793c80423:/local/barnowl:17717
8baf6839-b125-0410-9df9-922793c80423:/local/owl:15641
bb873fd7-8e23-0410-944a-99ec44c633eb:/local/d-o-h/branches/par:19594
fe09232e-8620-0410-8e36-e6b4839e121d:/branches/par:688
   + 06e3988a-d725-0410-af47-c5dd11e74598:/local/barnowl:1604
8baf6839-b125-0410-9df9-922793c80423:/local/barnowl:17717
8baf6839-b125-0410-9df9-922793c80423:/local/owl:15641
bb873fd7-8e23-0410-944a-99ec44c633eb:/local/d-o-h/branches/par:19594
fe09232e-8620-0410-8e36-e6b4839e121d:/branches/par:688

Modified: trunk/owl/logging.c
===================================================================
--- trunk/owl/logging.c	2007-05-31 02:30:09 UTC (rev 724)
+++ trunk/owl/logging.c	2007-06-01 08:01:55 UTC (rev 725)
@@ -32,17 +32,8 @@
   }
 
   /* handle outgoing messages */
-  if (owl_message_is_type_aim(m)) {
-    owl_log_outgoing_aim(m);
-  } else if (owl_message_is_type_zephyr(m)) {
-    owl_log_outgoing_zephyr(m);
-  } else if (owl_message_is_type_loopback(m)) {
-    owl_log_outgoing_loopback(m);
-  } else if (owl_message_is_type_jabber(m)) {
-   owl_log_outgoing_jabber(m);	  
-  }else {
-    owl_function_error("Unknown message type for logging");
-  }
+  owl_log_outgoing(m);
+
   owl_function_debugmsg("owl_log_message: leaving");
 }
 
@@ -83,51 +74,94 @@
   return(1);
 }
 
-void owl_log_outgoing_zephyr(owl_message *m)
+void owl_log_zephyr(owl_message *m, FILE *file) {
+    char *tmp;
+    tmp=short_zuser(owl_message_get_sender(m));
+    fprintf(file, "Class: %s Instance: %s", owl_message_get_class(m), owl_message_get_instance(m));
+    if (strcmp(owl_message_get_opcode(m), "")) fprintf(file, " Opcode: %s", owl_message_get_opcode(m));
+    fprintf(file, "\n");
+    fprintf(file, "Time: %s Host: %s\n", owl_message_get_timestr(m), owl_message_get_hostname(m));
+    fprintf(file, "From: %s <%s>\n\n", owl_message_get_zsig(m), tmp);
+    fprintf(file, "%s\n\n", owl_message_get_body(m));
+    owl_free(tmp);
+}
+
+void owl_log_aim(owl_message *m, FILE *file) {
+    fprintf(file, "From: <%s> To: <%s>\n", owl_message_get_sender(m), owl_message_get_recipient(m));
+    fprintf(file, "Time: %s\n\n", owl_message_get_timestr(m));
+    if (owl_message_is_login(m))
+        fprintf(file, "LOGIN\n\n");
+    else if (owl_message_is_logout(m))
+        fprintf(file, "LOGOUT\n\n");
+    else
+        fprintf(file, "%s\n\n", owl_message_get_body(m));
+}
+
+void owl_log_jabber(owl_message *m, FILE *file) {
+    fprintf(file, "From: <%s> To: <%s>\n",owl_message_get_sender(m), owl_message_get_recipient(m));
+    fprintf(file, "Time: %s\n\n", owl_message_get_timestr(m));
+    fprintf(file, "%s\n\n",owl_message_get_body(m));
+}
+
+void owl_log_generic(owl_message *m, FILE *file) {
+    fprintf(file, "From: <%s> To: <%s>\n", owl_message_get_sender(m), owl_message_get_recipient(m));
+    fprintf(file, "Time: %s\n\n", owl_message_get_timestr(m));
+    fprintf(file, "%s\n\n", owl_message_get_body(m));
+}
+
+void owl_log_append(owl_message *m, char *filename) {
+    FILE *file;
+    file=fopen(filename, "a");
+    if (!file) {
+        owl_function_error("Unable to open file for logging");
+        return;
+    }
+    if (owl_message_is_type_zephyr(m)) {
+        owl_log_zephyr(m, file);
+    } else if (owl_message_is_type_jabber(m)) {
+        owl_log_jabber(m, file);
+    } else if (owl_message_is_type_aim(m)) {
+        owl_log_aim(m, file);
+    } else {
+        owl_log_generic(m, file);
+    }
+    fclose(file);
+}
+
+void owl_log_outgoing(owl_message *m)
 {
-  FILE *file;
   char filename[MAXPATHLEN], *logpath;
-  char *to, *text;
+  char *to;
 
-  /* strip local realm */
-  to=short_zuser(owl_message_get_recipient(m));
+  /* Figure out what path to log to */
+  if (owl_message_is_type_zephyr(m)) {
+      to = short_zuser(owl_message_get_recipient(m));
+  } else if (owl_message_is_type_jabber(m)) {
+      to = owl_sprintf("jabber:%s", owl_message_get_recipient(m));
+  } else if (owl_message_is_type_aim(m)) {
+      char *temp;
+      temp = owl_aim_normalize_screenname(owl_message_get_recipient(m));
+      downstr(temp);
+      to = owl_sprintf("aim:%s", temp);
+      owl_free(temp);
+  } else {
+      to = owl_sprintf("loopback");
+  }
 
   /* expand ~ in path names */
-  logpath=owl_text_substitute(owl_global_get_logpath(&g), "~", owl_global_get_homedir(&g));
-
-  text=owl_message_get_body(m);
-
+  logpath = owl_text_substitute(owl_global_get_logpath(&g), "~", owl_global_get_homedir(&g));
   snprintf(filename, MAXPATHLEN, "%s/%s", logpath, to);
-  file=fopen(filename, "a");
-  if (!file) {
-    owl_function_error("Unable to open file for outgoing logging");
-    owl_free(logpath);
-    owl_free(to);
-    return;
-  }
-  fprintf(file, "OUTGOING (owl): %s\n%s\n", to, text);
-  if (text[strlen(text)-1]!='\n') {
-    fprintf(file, "\n");
-  }
-  fclose(file);
+  owl_free(to);
 
+  owl_log_append(m, filename);
+
   snprintf(filename, MAXPATHLEN, "%s/all", logpath);
   owl_free(logpath);
-  file=fopen(filename, "a");
-  if (!file) {
-    owl_function_error("Unable to open file for outgoing logging");
-    owl_free(to);
-    return;
-  }
-  fprintf(file, "OUTGOING (owl): %s\n%s\n", to, text);
-  if (text[strlen(text)-1]!='\n') {
-    fprintf(file, "\n");
-  }
-  fclose(file);
 
-  owl_free(to);
+  owl_log_append(m, filename);
 }
 
+
 void owl_log_outgoing_zephyr_error(char *to, char *text)
 {
   FILE *file;
@@ -184,181 +218,35 @@
   owl_free(tobuff);
 }
 
-void owl_log_outgoing_jabber(owl_message *m)
-{
-  FILE *file;
-  char filename[MAXPATHLEN], *logpath;
-  char *tobuff, *normalto, *text;
-  owl_function_debugmsg("owl_log_outgoing_jabber: entering");
-  /* normalize and downcase the screenname */
-  normalto = owl_message_get_recipient(m);
-  
-  /* downstr(normalto); */
-  tobuff=owl_sprintf("jabber:%s", normalto);
-  /* owl_free(normalto); */
-
-  /* expand ~ in path names */
-  logpath = owl_text_substitute(owl_global_get_logpath(&g), "~", owl_global_get_homedir(&g));
-
-  text=owl_message_get_body(m);
-  
-  snprintf(filename, MAXPATHLEN, "%s/%s", logpath, tobuff);
-  file=fopen(filename, "a");
-  if (!file) {
-    owl_function_error("Unable to open file for outgoing logging");
-    owl_free(logpath);
-    owl_free(tobuff);
-    return;
-  }
-  fprintf(file, "OUTGOING (owl): %s\n%s\n", tobuff, text);
-  if (text[strlen(text)-1]!='\n') {
-    fprintf(file, "\n");
-  }
-  fclose(file);
-
-  snprintf(filename, MAXPATHLEN, "%s/all", logpath);
-  owl_free(logpath);
-  file=fopen(filename, "a");
-  if (!file) {
-    owl_function_error("Unable to open file for outgoing logging");
-    owl_free(tobuff);
-    return;
-  }
-  fprintf(file, "OUTGOING (owl): %s\n%s\n", tobuff, text);
-  if (text[strlen(text)-1]!='\n') {
-    fprintf(file, "\n");
-  }
-  fclose(file);
-
-  owl_free(tobuff);
-}
-
-
-void owl_log_outgoing_aim(owl_message *m)
-{
-  FILE *file;
-  char filename[MAXPATHLEN], *logpath;
-  char *tobuff, *normalto, *text;
-
-  owl_function_debugmsg("owl_log_outgoing_aim: entering");
-
-  /* normalize and downcase the screenname */
-  normalto=owl_aim_normalize_screenname(owl_message_get_recipient(m));
-  downstr(normalto);
-  tobuff=owl_sprintf("aim:%s", normalto);
-  owl_free(normalto);
-
-  /* expand ~ in path names */
-  logpath = owl_text_substitute(owl_global_get_logpath(&g), "~", owl_global_get_homedir(&g));
-
-  text=owl_message_get_body(m);
-  
-  snprintf(filename, MAXPATHLEN, "%s/%s", logpath, tobuff);
-  file=fopen(filename, "a");
-  if (!file) {
-    owl_function_error("Unable to open file for outgoing logging");
-    owl_free(logpath);
-    owl_free(tobuff);
-    return;
-  }
-  fprintf(file, "OUTGOING (owl): %s\n%s\n", tobuff, text);
-  if (text[strlen(text)-1]!='\n') {
-    fprintf(file, "\n");
-  }
-  fclose(file);
-
-  snprintf(filename, MAXPATHLEN, "%s/all", logpath);
-  owl_free(logpath);
-  file=fopen(filename, "a");
-  if (!file) {
-    owl_function_error("Unable to open file for outgoing logging");
-    owl_free(tobuff);
-    return;
-  }
-  fprintf(file, "OUTGOING (owl): %s\n%s\n", tobuff, text);
-  if (text[strlen(text)-1]!='\n') {
-    fprintf(file, "\n");
-  }
-  fclose(file);
-
-  owl_free(tobuff);
-}
-
-void owl_log_outgoing_loopback(owl_message *m)
-{
-  FILE *file;
-  char filename[MAXPATHLEN], *logpath;
-  char *tobuff, *text;
-
-  tobuff=owl_sprintf("loopback");
-
-  /* expand ~ in path names */
-  logpath = owl_text_substitute(owl_global_get_logpath(&g), "~", owl_global_get_homedir(&g));
-
-  text=owl_message_get_body(m);
-
-  snprintf(filename, MAXPATHLEN, "%s/%s", logpath, tobuff);
-  file=fopen(filename, "a");
-  if (!file) {
-    owl_function_error("Unable to open file for outgoing logging");
-    owl_free(logpath);
-    owl_free(tobuff);
-    return;
-  }
-  fprintf(file, "OUTGOING (owl): %s\n%s\n", tobuff, text);
-  if (text[strlen(text)-1]!='\n') {
-    fprintf(file, "\n");
-  }
-  fclose(file);
-
-  snprintf(filename, MAXPATHLEN, "%s/all", logpath);
-  owl_free(logpath);
-  file=fopen(filename, "a");
-  if (!file) {
-    owl_function_error("Unable to open file for outgoing logging");
-    owl_free(tobuff);
-    return;
-  }
-  fprintf(file, "OUTGOING (owl): %s\n%s\n", tobuff, text);
-  if (text[strlen(text)-1]!='\n') {
-    fprintf(file, "\n");
-  }
-  fclose(file);
-
-  owl_free(tobuff);
-}
-
 void owl_log_incoming(owl_message *m)
 {
-  FILE *file, *allfile;
   char filename[MAXPATHLEN], allfilename[MAXPATHLEN], *logpath;
-  char *frombuff=NULL, *from=NULL, *zsig=NULL;
+  char *frombuff=NULL, *from=NULL;
   int len, ch, i, personal;
 
   /* figure out if it's a "personal" message or not */
   if (owl_message_is_type_zephyr(m)) {
     if (owl_message_is_personal(m)) {
-      personal=1;
+      personal = 1;
     } else {
-      personal=0;
+      personal = 0;
     }
   } else if (owl_message_is_type_jabber(m)) {
-	  /* This needs to be fixed to handle groupchat */
-	  char* msgtype = owl_message_get_attribute_value(m,"jtype");
-	  if (msgtype && !strcmp(msgtype,"groupchat")) {
-		  personal =0;
-	  } else {
-  	     personal=1;
-	  }
+    /* This needs to be fixed to handle groupchat */
+    char* msgtype = owl_message_get_attribute_value(m,"jtype");
+    if (msgtype && !strcmp(msgtype,"groupchat")) {
+      personal = 0;
+    } else {
+      personal = 1;
+    }
   } else {
     if (owl_message_is_private(m) || owl_message_is_loginout(m)) {
-      personal=1;
+      personal = 1;
     } else {
-      personal=0;
+      personal = 0;
     }
   }
 
-  
 
   if (owl_message_is_type_zephyr(m)) {
     if (personal) {
@@ -414,89 +302,11 @@
     snprintf(filename, MAXPATHLEN, "%s/%s", logpath, from);
   }
   owl_free(logpath);
-  
-  file=fopen(filename, "a");
-  if (!file) {
-    owl_function_error("Unable to open file for incoming logging");
-    owl_free(frombuff);
-    return;
-  }
+  owl_free(frombuff);
 
-  allfile=NULL;
-  if (personal) {
-    allfile=fopen(allfilename, "a");
-    if (!allfile) {
-      owl_function_error("Unable to open file for incoming logging");
-      owl_free(frombuff);
-      fclose(file);
-      return;
-    }
-  }
+  owl_log_append(m, filename);
 
-  /* write to the main file */
-  if (owl_message_is_type_zephyr(m)) {
-    char *tmp;
-    
-    tmp=short_zuser(owl_message_get_sender(m));
-    fprintf(file, "Class: %s Instance: %s", owl_message_get_class(m), owl_message_get_instance(m));
-    if (strcmp(owl_message_get_opcode(m), "")) fprintf(file, " Opcode: %s", owl_message_get_opcode(m));
-    fprintf(file, "\n");
-    fprintf(file, "Time: %s Host: %s\n", owl_message_get_timestr(m), owl_message_get_hostname(m));
-    zsig=owl_message_get_zsig(m);
-    fprintf(file, "From: %s <%s>\n\n", zsig, tmp);
-    fprintf(file, "%s\n\n", owl_message_get_body(m));
-    owl_free(tmp);
-  } else if (owl_message_is_type_aim(m) && !owl_message_is_loginout(m)) {
-    fprintf(file, "From: <%s> To: <%s>\n", owl_message_get_sender(m), owl_message_get_recipient(m));
-    fprintf(file, "Time: %s\n\n", owl_message_get_timestr(m));
-    fprintf(file, "%s\n\n", owl_message_get_body(m));
-  } else if (owl_message_is_type_aim(m) && owl_message_is_loginout(m)) {
-    fprintf(file, "From: <%s> To: <%s>\n", owl_message_get_sender(m), owl_message_get_recipient(m));
-    fprintf(file, "Time: %s\n\n", owl_message_get_timestr(m));
-    if (owl_message_is_login(m)) fprintf(file, "LOGIN\n\n");
-    if (owl_message_is_logout(m)) fprintf(file, "LOGOUT\n\n");
-  } else if (owl_message_is_type_jabber(m)) {
-    fprintf(file, "From: <%s> To: <%s>\n",owl_message_get_sender(m), owl_message_get_recipient(m));
-    fprintf(file, "Time: %s\n\n", owl_message_get_timestr(m));
-    fprintf(file, "%s\n\n",owl_message_get_body(m));
-  }
-  else {
-    fprintf(file, "From: <%s> To: <%s>\n", owl_message_get_sender(m), owl_message_get_recipient(m));
-    fprintf(file, "Time: %s\n\n", owl_message_get_timestr(m));
-    fprintf(file, "%s\n\n", owl_message_get_body(m));
-  }
+  if (personal)
+      owl_log_append(m, allfilename);
 
-  fclose(file);
-
-  /* if it's a personal message, also write to the 'all' file */
-  if (personal) {
-    if (owl_message_is_type_zephyr(m)) {
-      char *tmp;
-
-      tmp=short_zuser(owl_message_get_sender(m));
-      fprintf(allfile, "Class: %s Instance: %s", owl_message_get_class(m), owl_message_get_instance(m));
-      if (strcmp(owl_message_get_opcode(m), "")) fprintf(allfile, " Opcode: %s", owl_message_get_opcode(m));
-      fprintf(allfile, "\n");
-      fprintf(allfile, "Time: %s Host: %s\n", owl_message_get_timestr(m), owl_message_get_hostname(m));
-      fprintf(allfile, "From: %s <%s>\n\n", zsig, tmp);
-      fprintf(allfile, "%s\n\n", owl_message_get_body(m));
-      owl_free(tmp);
-    } else if (owl_message_is_type_aim(m) && !owl_message_is_loginout(m)) {
-      fprintf(allfile, "From: <%s> To: <%s>\n", owl_message_get_sender(m), owl_message_get_recipient(m));
-      fprintf(allfile, "Time: %s\n\n", owl_message_get_timestr(m));
-      fprintf(allfile, "%s\n\n", owl_message_get_body(m));
-    } else if (owl_message_is_type_aim(m) && owl_message_is_loginout(m)) {
-      fprintf(allfile, "From: <%s> To: <%s>\n", owl_message_get_sender(m), owl_message_get_recipient(m));
-      fprintf(allfile, "Time: %s\n\n", owl_message_get_timestr(m));
-      if (owl_message_is_login(m)) fprintf(allfile, "LOGIN\n\n");
-      if (owl_message_is_logout(m)) fprintf(allfile, "LOGOUT\n\n");
-    } else {
-      fprintf(allfile, "From: <%s> To: <%s>\n", owl_message_get_sender(m), owl_message_get_recipient(m));
-      fprintf(allfile, "Time: %s\n\n", owl_message_get_timestr(m));
-      fprintf(allfile, "%s\n\n", owl_message_get_body(m));
-    }
-    fclose(allfile);
-  }
-
-  owl_free(frombuff);
 }

Modified: trunk/owl/perlwrap.pm
===================================================================
--- trunk/owl/perlwrap.pm	2007-05-31 02:30:09 UTC (rev 724)
+++ trunk/owl/perlwrap.pm	2007-06-01 08:01:55 UTC (rev 725)
@@ -571,7 +571,7 @@
     my $sender = $m->long_sender;
     $sender =~ s/\n.*$//s;
     $header .= " " x (4 - ((length $header) % 4));
-    $header .= "(" . $sender . ")";
+    $header .= "(" . $sender . '@color[default]' . ")";
     my $message = $header . "\n". indentBody($m);
     if($m->is_personal && $m->direction eq "in") {
         $message = BarnOwl::Style::boldify($message);


home help back first fref pref prev next nref lref last post