Changeset 24ccc01
- Timestamp:
- Aug 26, 2009, 11:50:56 PM (15 years ago)
- Branches:
- master, release-1.10, release-1.4, release-1.5, release-1.6, release-1.7, release-1.8, release-1.9
- Children:
- e2ebf39
- Parents:
- 36486be
- git-author:
- Nelson Elhage <nelhage@mit.edu> (08/19/09 23:41:06)
- git-committer:
- Nelson Elhage <nelhage@mit.edu> (08/26/09 23:50:56)
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
functions.c
r36486be r24ccc01 229 229 { 230 230 owl_message *m; 231 owl_zwrite zw; 232 233 owl_zwrite_create_from_line(&zw, zwriteline); 234 owl_zwrite_set_zsig(&zw, zsig); 231 235 232 236 /* create the message */ 233 237 m=owl_malloc(sizeof(owl_message)); 234 owl_message_create_from_zwriteline(m, zwriteline, body, zsig); 238 239 owl_message_create_from_zwrite(m, &zw, body); 240 owl_zwrite_free(&zw); 235 241 236 242 return(m); -
logging.c
r4542047 r24ccc01 171 171 172 172 173 void owl_log_outgoing_zephyr_error(const char *to, const char *text)173 void owl_log_outgoing_zephyr_error(const owl_zwrite *zw, const char *text) 174 174 { 175 175 FILE *file; … … 181 181 * owl_log_shouldlog_message() 182 182 */ 183 zwriteline=owl_sprintf("zwrite %s", to); 184 m=owl_function_make_outgoing_zephyr(text, zwriteline, ""); 185 owl_free(zwriteline); 183 m = owl_malloc(sizeof(owl_message)); 184 owl_message_create_from_zwrite(m, zw, text); 186 185 if (!owl_log_shouldlog_message(m)) { 187 186 owl_message_free(m); … … 191 190 192 191 /* chop off a local realm */ 193 tobuff =short_zuser(to);192 tobuff = short_zuser(owl_list_get_element(&(zw->recips), 0)); 194 193 195 194 /* expand ~ in path names */ -
message.c
r27f6487 r24ccc01 898 898 } 899 899 900 void owl_message_create_from_zwriteline(owl_message *m, const char *line, const char *body, const char *zsig) 901 { 902 owl_zwrite z; 900 void owl_message_create_from_zwrite(owl_message *m, const owl_zwrite *z, const char *body) 901 { 903 902 int ret; 904 903 char hostbuff[5000]; 905 904 906 905 owl_message_init(m); 907 908 /* create a zwrite for the purpose of filling in other message fields */909 owl_zwrite_create_from_line(&z, line);910 906 911 907 /* set things */ … … 913 909 owl_message_set_type_zephyr(m); 914 910 owl_message_set_sender(m, owl_zephyr_get_sender()); 915 owl_message_set_class(m, owl_zwrite_get_class( &z));916 owl_message_set_instance(m, owl_zwrite_get_instance( &z));917 if (owl_zwrite_get_numrecips( &z)>0) {918 char *longzuser = long_zuser(owl_zwrite_get_recip_n( &z, 0));911 owl_message_set_class(m, owl_zwrite_get_class(z)); 912 owl_message_set_instance(m, owl_zwrite_get_instance(z)); 913 if (owl_zwrite_get_numrecips(z)>0) { 914 char *longzuser = long_zuser(owl_zwrite_get_recip_n(z, 0)); 919 915 owl_message_set_recipient(m, 920 916 longzuser); /* only gets the first user, must fix */ 921 917 owl_free(longzuser); 922 918 } 923 owl_message_set_opcode(m, owl_zwrite_get_opcode(&z)); 924 owl_message_set_realm(m, owl_zwrite_get_realm(&z)); /* also a hack, but not here */ 925 owl_message_set_zwriteline(m, line); 919 owl_message_set_opcode(m, owl_zwrite_get_opcode(z)); 920 owl_message_set_realm(m, owl_zwrite_get_realm(z)); /* also a hack, but not here */ 921 if(z->zwriteline) { 922 owl_message_set_zwriteline(m, z->zwriteline); 923 } 926 924 owl_message_set_body(m, body); 927 owl_message_set_zsig(m, zsig);925 owl_message_set_zsig(m, owl_zwrite_get_zsig(z)); 928 926 929 927 /* save the hostname */ … … 937 935 938 936 /* set the "isprivate" attribute if it's a private zephyr. */ 939 if (owl_zwrite_is_personal( &z)) {937 if (owl_zwrite_is_personal(z)) { 940 938 owl_message_set_isprivate(m); 941 939 } 942 943 owl_zwrite_free(&z);944 940 } 945 941 -
owl.h
r0e5afa2 r24ccc01 314 314 315 315 typedef struct _owl_zwrite { 316 char *zwriteline; 316 317 char *class; 317 318 char *inst; -
zephyr.c
r36486be r24ccc01 769 769 } else { 770 770 char buff[BUFFLEN]; 771 owl_zwrite zw; 772 char *realm; 773 771 774 tmp = short_zuser(retnotice->z_recipient); 772 775 owl_function_error("%s: Not logged in or subscribing.", tmp); … … 796 799 } 797 800 owl_function_adminmsg("", buff); 798 owl_log_outgoing_zephyr_error(tmp, buff); 801 802 memset(&zw, 0, sizeof(zw)); 803 zw.class = owl_strdup(retnotice->z_class); 804 zw.inst = owl_strdup(retnotice->z_class_inst); 805 realm = strchr(retnotice->z_recipient, '@'); 806 if(realm) { 807 zw.realm = owl_strdup(realm + 1); 808 } else { 809 zw.realm = owl_strdup(owl_zephyr_get_realm()); 810 } 811 zw.opcode = owl_strdup(retnotice->z_opcode); 812 zw.zsig = owl_strdup(""); 813 owl_list_create(&(zw.recips)); 814 owl_list_append_element(&(zw.recips), owl_strdup(tmp)); 815 816 owl_log_outgoing_zephyr_error(&zw, buff); 817 818 owl_zwrite_free(&zw); 799 819 owl_free(tmp); 800 820 } -
zwrite.c
r36486be r24ccc01 24 24 z->noping=0; 25 25 owl_list_create(&(z->recips)); 26 z->zwriteline = owl_strdup(line); 26 27 27 28 /* parse the command line for options */ … … 350 351 } 351 352 353 void owl_zwrite_set_zsig(owl_zwrite *z, const char *zsig) 354 { 355 if(z->zsig) owl_free(z->zsig); 356 z->zsig = owl_strdup(zsig); 357 } 358 352 359 void owl_zwrite_get_recipstr(const owl_zwrite *z, char *buff) 353 360 { … … 390 397 { 391 398 owl_list_free_all(&(z->recips), &owl_free); 399 if (z->zwriteline) owl_free(z->zwriteline); 392 400 if (z->class) owl_free(z->class); 393 401 if (z->inst) owl_free(z->inst);
Note: See TracChangeset
for help on using the changeset viewer.