Changes in zwrite.c [d427f08:3cdd6d2]
Legend:
- Unmodified
- Added
- Removed
-
zwrite.c
rd427f08 r3cdd6d2 5 5 #include "owl.h" 6 6 7 G_GNUC_WARN_UNUSED_RESULTowl_zwrite *owl_zwrite_new(const char *line)7 CALLER_OWN owl_zwrite *owl_zwrite_new(const char *line) 8 8 { 9 9 owl_zwrite *z = g_new(owl_zwrite, 1); … … 34 34 z->cc=0; 35 35 z->noping=0; 36 owl_list_create(&(z->recips));36 z->recips = g_ptr_array_new(); 37 37 z->zwriteline = g_strdup(line); 38 38 … … 97 97 } 98 98 /* we must already have users or a class or an instance */ 99 if ( owl_list_get_size(&(z->recips))<1 && (!z->class) && (!z->inst)) {99 if (z->recips->len < 1 && (!z->class) && (!z->inst)) { 100 100 badargs=1; 101 101 break; … … 117 117 } else { 118 118 /* anything unattached is a recipient */ 119 owl_list_append_element(&(z->recips), owl_validate_utf8(myargv[0]));119 g_ptr_array_add(z->recips, owl_validate_utf8(myargv[0])); 120 120 myargv++; 121 121 myargc--; … … 131 131 if (z->class == NULL && 132 132 z->inst == NULL && 133 owl_list_get_size(&(z->recips))==0) {133 z->recips->len == 0) { 134 134 owl_function_error("You must specify a recipient for zwrite"); 135 135 return(-1); … … 162 162 void owl_zwrite_send_ping(const owl_zwrite *z) 163 163 { 164 int i , j;164 int i; 165 165 char *to; 166 166 … … 173 173 /* if there are no recipients we won't send a ping, which 174 174 is what we want */ 175 j=owl_list_get_size(&(z->recips)); 176 for (i=0; i<j; i++) { 175 for (i = 0; i < z->recips->len; i++) { 177 176 to = owl_zwrite_get_recip_n_with_realm(z, i); 178 177 send_ping(to, z->class, z->inst); … … 191 190 void owl_zwrite_set_message(owl_zwrite *z, const char *msg) 192 191 { 193 int i , j;192 int i; 194 193 GString *message; 195 194 char *tmp = NULL, *tmp2; … … 197 196 g_free(z->message); 198 197 199 j=owl_list_get_size(&(z->recips)); 200 if (j>0 && z->cc) { 198 if (z->recips->len > 0 && z->cc) { 201 199 message = g_string_new("CC: "); 202 for (i =0; i<j; i++) {200 for (i = 0; i < z->recips->len; i++) { 203 201 tmp = owl_zwrite_get_recip_n_with_realm(z, i); 204 202 g_string_append_printf(message, "%s ", tmp); … … 233 231 int owl_zwrite_send_message(const owl_zwrite *z) 234 232 { 235 int i, j,ret = 0;233 int i, ret = 0; 236 234 char *to = NULL; 237 235 238 236 if (z->message==NULL) return(-1); 239 237 240 j=owl_list_get_size(&(z->recips)); 241 if (j>0) { 242 for (i=0; i<j; i++) { 238 if (z->recips->len > 0) { 239 for (i = 0; i < z->recips->len; i++) { 243 240 to = owl_zwrite_get_recip_n_with_realm(z, i); 244 241 ret = send_zephyr(z->opcode, z->zsig, z->class, z->inst, to, z->message); … … 312 309 int owl_zwrite_get_numrecips(const owl_zwrite *z) 313 310 { 314 return (owl_list_get_size(&(z->recips)));311 return z->recips->len; 315 312 } 316 313 317 314 const char *owl_zwrite_get_recip_n(const owl_zwrite *z, int n) 318 315 { 319 return (owl_list_get_element(&(z->recips), n));316 return z->recips->pdata[n]; 320 317 } 321 318 322 319 /* Caller must free the result. */ 323 G_GNUC_WARN_UNUSED_RESULTchar *owl_zwrite_get_recip_n_with_realm(const owl_zwrite *z, int n)320 CALLER_OWN char *owl_zwrite_get_recip_n_with_realm(const owl_zwrite *z, int n) 324 321 { 325 322 if (z->realm[0]) { … … 333 330 { 334 331 /* return true if at least one of the recipients is personal */ 335 int i, j; 336 char *foo; 337 338 j=owl_list_get_size(&(z->recips)); 339 for (i=0; i<j; i++) { 340 foo=owl_list_get_element(&(z->recips), i); 341 if (foo[0]!='@') return(1); 332 int i; 333 char *recip; 334 335 for (i = 0; i < z->recips->len; i++) { 336 recip = z->recips->pdata[i]; 337 if (recip[0] != '@') return 1; 342 338 } 343 339 return(0); … … 352 348 void owl_zwrite_cleanup(owl_zwrite *z) 353 349 { 354 owl_ list_cleanup(&(z->recips), &g_free);350 owl_ptr_array_free(z->recips, g_free); 355 351 g_free(z->cmd); 356 352 g_free(z->zwriteline); … … 370 366 * If not a CC, only the recip_index'th user will be replied to. 371 367 */ 372 G_GNUC_WARN_UNUSED_RESULTchar *owl_zwrite_get_replyline(const owl_zwrite *z, int recip_index)368 CALLER_OWN char *owl_zwrite_get_replyline(const owl_zwrite *z, int recip_index) 373 369 { 374 370 /* Match ordering in zwrite help. */ … … 403 399 } 404 400 if (z->cc) { 405 for (i = 0; i < owl_list_get_size(&(z->recips)); i++) {401 for (i = 0; i < z->recips->len; i++) { 406 402 g_string_append_c(buf, ' '); 407 owl_string_append_quoted_arg(buf, owl_list_get_element(&(z->recips), i));403 owl_string_append_quoted_arg(buf, z->recips->pdata[i]); 408 404 } 409 } else if (recip_index < owl_list_get_size(&(z->recips))) {405 } else if (recip_index < z->recips->len) { 410 406 g_string_append_c(buf, ' '); 411 owl_string_append_quoted_arg(buf, owl_list_get_element(&(z->recips), recip_index));407 owl_string_append_quoted_arg(buf, z->recips->pdata[recip_index]); 412 408 } 413 409
Note: See TracChangeset
for help on using the changeset viewer.