comparison src/server.c @ 79:bfdc427b936d

[gaim-migrate @ 89] I'll save time and just post the email :-) Summary of changes: * Misc malloc/free cleanups, use g_malloc more places and other small stuff (e.g. lineardata not being freed in the error case in sound.c) * Misc signed/unsigned cleanups (use size_t more often) * read() can return -1 at any point, check return values more rigorously (read_rv variables used for this) * In can_play_audio, stat requires a pointer to an allocated stat_buf (the address of an automatic variable) * escape_text needs a buffer at least 4 times the size of the text being passed in (not 2 times); I can force core dumps with lots of newlines otherwise * There's a debug statement in netscape_command (browser.c) that was printf("Hello%d\n"); with no int for the %d; I threw in a getppid(), but the statement should probably come out eventually. Thanks, G Sumner Hayes! committer: Tailor Script <tailor@pidgin.im>
author Rob Flynn <gaim@robflynn.com>
date Wed, 05 Apr 2000 05:34:08 +0000
parents 939455223459
children 9f6ce50ffb78
comparison
equal deleted inserted replaced
78:66c5a24b62ec 79:bfdc427b936d
106 void serv_finish_login() 106 void serv_finish_login()
107 { 107 {
108 char *buf; 108 char *buf;
109 109
110 if (strlen(current_user->user_info)) { 110 if (strlen(current_user->user_info)) {
111 buf = g_malloc(strlen(current_user->user_info) * 2); 111 buf = g_malloc(strlen(current_user->user_info) * 4);
112 strcpy(buf, current_user->user_info); 112 strcpy(buf, current_user->user_info);
113 escape_text(buf); 113 escape_text(buf);
114 serv_set_info(buf); 114 serv_set_info(buf);
115 g_free(buf); 115 g_free(buf);
116 } 116 }
168 168
169 void serv_set_dir(char *first, char *middle, char *last, char *maiden, 169 void serv_set_dir(char *first, char *middle, char *last, char *maiden,
170 char *city, char *state, char *country, int web) 170 char *city, char *state, char *country, int web)
171 { 171 {
172 #ifndef USE_OSCAR 172 #ifndef USE_OSCAR
173 char buf2[BUF_LEN], buf[BUF_LEN]; 173 char buf2[BUF_LEN*4], buf[BUF_LEN];
174 g_snprintf(buf2, sizeof(buf2), "%s:%s:%s:%s:%s:%s:%s:%s", first, 174 g_snprintf(buf2, sizeof(buf2), "%s:%s:%s:%s:%s:%s:%s:%s", first,
175 middle, last, maiden, city, state, country, 175 middle, last, maiden, city, state, country,
176 (web == 1) ? "Y" : ""); 176 (web == 1) ? "Y" : "");
177 escape_text(buf2); 177 escape_text(buf2);
178 g_snprintf(buf, sizeof(buf), "toc_set_dir %s", buf2); 178 g_snprintf(buf, sizeof(buf), "toc_set_dir %s", buf2);
575 if (find_log_info(name) || (general_options & OPT_GEN_LOG_ALL)) 575 if (find_log_info(name) || (general_options & OPT_GEN_LOG_ALL))
576 g_snprintf(who, 63, LOG_CONVERSATION_TITLE, name); 576 g_snprintf(who, 63, LOG_CONVERSATION_TITLE, name);
577 else 577 else
578 g_snprintf(who, 63, CONVERSATION_TITLE, name); 578 g_snprintf(who, 63, CONVERSATION_TITLE, name);
579 gtk_window_set_title(GTK_WINDOW(cv->window), who); 579 gtk_window_set_title(GTK_WINDOW(cv->window), who);
580 /* no free 'who', set_title needs it. 580 /* was g_free(buf), but break gives us that
581 */ 581 * and freeing twice is not good --Sumner */
582 /* Umm .. Why?? */
583 g_free(who);
584 break; 582 break;
585 } 583 }
586 cnv = cnv->next; 584 cnv = cnv->next;
587 } 585 }
588 g_free(who); 586 g_free(who);