Changes in / [e9d74be:3159e27]
- Files:
-
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
aim.c
r2770be99 re4524da 1812 1812 GPollFD *fd; 1813 1813 int i; 1814 if (len < event_source->fds->len) {1814 if (len < event_source->fds->len) 1815 1815 owl_function_debugmsg("Truncating AIM PollFDs to %d, was %d", len, event_source->fds->len); 1816 for (i = len; i < event_source->fds->len; i++) { 1817 fd = event_source->fds->pdata[i]; 1818 g_source_remove_poll(&event_source->source, fd); 1819 g_free(fd); 1820 } 1821 g_ptr_array_remove_range(event_source->fds, len, event_source->fds->len - len); 1822 } 1816 for (i = len; i < event_source->fds->len; i++) { 1817 fd = event_source->fds->pdata[i]; 1818 g_source_remove_poll(&event_source->source, fd); 1819 g_free(fd); 1820 } 1821 g_ptr_array_remove_range(event_source->fds, len, event_source->fds->len - len); 1823 1822 } 1824 1823 … … 1891 1890 { 1892 1891 owl_aim_event_source *event_source = (owl_aim_event_source*)source; 1893 /* Don't remove the GPollFDs. We are being finalized, so they'll be removed 1894 * for us. Moreover, glib will fire asserts if g_source_remove_poll is called 1895 * on a source which has been destroyed (which occurs when g_source_remove is 1896 * called on it). */ 1897 owl_ptr_array_free(event_source->fds, g_free); 1892 truncate_pollfd_list(event_source, 0); 1893 g_ptr_array_free(event_source->fds, TRUE); 1898 1894 } 1899 1895 -
barnowl
rf5f6ec0 rb14f8cb 8 8 9 9 if test ! -x "$EXE"; then 10 echo "Cannot find $EXE" >&210 echo "Cannot find barnowl.bin" >&2 11 11 exit 1 12 12 fi -
functions.c
r99ac28a refeec7f 410 410 old_msg = g_strdup(owl_zwrite_get_message(z)); 411 411 412 zcrypt = g_ build_filename(owl_get_bindir(), "zcrypt", NULL);412 zcrypt = g_strdup_printf("%s/zcrypt", owl_get_bindir()); 413 413 argv[0] = "zcrypt"; 414 414 argv[1] = "-E"; … … 3226 3226 } else if (myargc > 0) { 3227 3227 /* Spawn the child. */ 3228 GPidpid;3228 pid_t pid; 3229 3229 GError *error = NULL; 3230 3230 owl_function_debugmsg("About to exec \"%s\" with %d arguments", argv[0], myargc); -
global.c
rdde1b4d r2560529 53 53 g->resizepending=0; 54 54 g->direction=OWL_DIRECTION_DOWNWARDS; 55 g->zaway=0; 55 56 owl_fmtext_init_colorpair_mgr(&(g->cpmgr)); 56 57 g->debug=OWL_DEBUG; … … 77 78 g->confdir = NULL; 78 79 g->startupfile = NULL; 79 cd = g_ build_filename(g->homedir, OWL_CONFIG_DIR, NULL);80 cd = g_strdup_printf("%s/%s", g->homedir, OWL_CONFIG_DIR); 80 81 owl_global_set_confdir(g, cd); 81 82 g_free(cd); … … 364 365 g->confdir = g_strdup(cd); 365 366 g_free(g->startupfile); 366 g->startupfile = g_ build_filename(cd, "startup", NULL);367 g->startupfile = g_strdup_printf("%s/startup", cd); 367 368 } 368 369 -
help.c
r820e852 ra16d7e5 66 66 "\n" 67 67 " l Print a zephyr/AIM buddy listing\n" 68 " A Toggle away\n"68 " A Toggle zaway\n" 69 69 " o Toggle one-line display mode\n" 70 70 " w Open a URL in the current message\n" -
logging.c
rdde1b4d r6829afc 224 224 while (cc != NULL) { 225 225 temp = short_zuser(cc->data); 226 filename = g_ build_filename(logpath, temp, NULL);226 filename = g_strdup_printf("%s/%s", logpath, temp); 227 227 owl_log_append(m, filename); 228 228 … … 248 248 } 249 249 250 filename = g_ build_filename(logpath, to, NULL);250 filename = g_strdup_printf("%s/%s", logpath, to); 251 251 owl_log_append(m, filename); 252 252 g_free(to); 253 253 g_free(filename); 254 254 255 filename = g_ build_filename(logpath, "all", NULL);255 filename = g_strdup_printf("%s/all", logpath); 256 256 owl_log_append(m, filename); 257 257 g_free(logpath); … … 285 285 /* expand ~ in path names */ 286 286 logpath = owl_util_makepath(owl_global_get_logpath(&g)); 287 filename = g_ build_filename(logpath, tobuff, NULL);287 filename = g_strdup_printf("%s/%s", logpath, tobuff); 288 288 msgbuf = g_string_new(""); 289 289 g_string_printf(msgbuf, "ERROR (owl): %s\n%s\n", tobuff, text); … … 294 294 g_string_free(msgbuf, TRUE); 295 295 296 filename = g_ build_filename(logpath, "all", NULL);296 filename = g_strdup_printf("%s/all", logpath); 297 297 g_free(logpath); 298 298 msgbuf = g_string_new(""); … … 393 393 if (personal) { 394 394 logpath = owl_util_makepath(owl_global_get_logpath(&g)); 395 filename = g_ build_filename(logpath, from, NULL);396 allfilename = g_ build_filename(logpath, "all", NULL);395 filename = g_strdup_printf("%s/%s", logpath, from); 396 allfilename = g_strdup_printf("%s/all", logpath); 397 397 owl_log_append(m, allfilename); 398 398 g_free(allfilename); 399 399 } else { 400 400 logpath = owl_util_makepath(owl_global_get_classlogpath(&g)); 401 filename = g_ build_filename(logpath, from, NULL);401 filename = g_strdup_printf("%s/%s", logpath, from); 402 402 } 403 403 … … 415 415 temp = short_zuser(cc->data); 416 416 if (strcasecmp(temp, frombuff) != 0) { 417 filename = g_ build_filename(logpath, temp, NULL);417 filename = g_strdup_printf("%s/%s", logpath, temp); 418 418 owl_log_append(m, filename); 419 419 g_free(filename); -
message.c
rdde1b4d rf9df2f0 884 884 char *zcrypt; 885 885 886 zcrypt = g_ build_filename(owl_get_bindir(), "zcrypt", NULL);886 zcrypt = g_strdup_printf("%s/zcrypt", owl_get_bindir()); 887 887 888 888 rv = call_filter(zcrypt, argv, owl_message_get_body(m), &out, &status); -
owl.h
r16cf182d r2560529 556 556 char *startupfile; 557 557 int direction; 558 int zaway; 559 char *cur_zaway_msg; 558 560 int haveconfig; 559 561 int config_format; -
perlconfig.c
rdde1b4d rce68f23 406 406 /* Add the system lib path to @INC */ 407 407 inc = get_av("INC", 0); 408 path = g_ build_filename(owl_get_datadir(), "lib", NULL);408 path = g_strdup_printf("%s/lib", owl_get_datadir()); 409 409 av_unshift(inc, 1); 410 410 av_store(inc, 0, owl_new_sv(path)); -
runtests.sh
rf6ab6ee r786a410 1 1 #!/bin/sh 2 exec env HARNESS_PERL=./tester prove --failures t/ 2 SRCDIR=`dirname "${0}"` 3 4 export BARNOWL_DATA_DIR="$SRCDIR/perl/" 5 export BARNOWL_BIN_DIR="$SRCDIR/" 6 7 HARNESS_PERL=./tester exec prove --failures t/ -
scripts/locker-build
r055e366 r401752a 85 85 BARNOWL="/afs/sipb.mit.edu/project/barnowl/arch/$ATHENA_SYS" 86 86 export PKG_CONFIG_PATH="$BARNOWL/lib/pkgconfig" 87 eval $("$BARNOWL/bin/barnowl-perl-config")88 87 89 88 SUFFIX= -
t/completion.t
re59d775 r3001c11 323 323 } 324 324 325 mkpath( ["$tmpdir/.owl/",326 327 328 329 330 "$tmpdir/www"],331 0, 0700);325 mkpath("$tmpdir/.owl/", 326 "$tmpdir/.owl/modules/", 327 "$tmpdir/Public/", 328 "$tmpdir/Private/", 329 "$tmpdir/.ours", 330 "$tmpdir/www", 331 {mode => 0700}); 332 332 touch("$tmpdir/.zephyr.subs"); 333 333 touch("$tmpdir/wheee"); -
t/unicode.t
rf415f83 r09ff1eb 5 5 use Encode; 6 6 7 BEGIN { bootstrap BarnOwl; }; 8 7 9 use Test::More qw(no_plan); 8 9 use BarnOwl;10 10 11 11 my $unicode = "“hello”"; -
tester.c
r0ba7333 r14c9e05 4 4 #undef WINDOW 5 5 6 #include <errno.h> 6 7 #include <unistd.h> 8 #include <pwd.h> 7 9 #include <stdio.h> 8 10 #include <stdlib.h> 9 11 #include <string.h> 12 #include <sys/types.h> 10 13 11 14 #undef instr … … 133 136 { 134 137 int numfailed=0; 135 char *s, *path, *home; 138 const char *home; 139 char *s, *path; 140 struct passwd *pw; 136 141 137 142 printf("# BEGIN testing owl_util\n"); … … 222 227 "\""); 223 228 224 GString * quoted= g_string_new("");225 owl_string_appendf_quoted( quoted, "%q foo %q%q %s %", "hello", "world is", "can't");229 GString *g = g_string_new(""); 230 owl_string_appendf_quoted(g, "%q foo %q%q %s %", "hello", "world is", "can't"); 226 231 FAIL_UNLESS("owl_string_appendf", 227 !strcmp( quoted->str, "hello foo 'world is'\"can't\" %s %"));228 g_string_free( quoted, true);232 !strcmp(g->str, "hello foo 'world is'\"can't\" %s %")); 233 g_string_free(g, true); 229 234 230 235 … … 269 274 g_free(s); 270 275 271 home = g_strdup(owl_global_get_homedir(&g)); 276 errno = 0; 277 pw = getpwuid(getuid()); 278 if (pw) { 279 home = pw->pw_dir; 280 } else { 281 /* Just make some noise so we notice. */ 282 home = "<WHAT>"; 283 fprintf(stderr, "getpwuid: %s", errno ? strerror(errno) : "No such user"); 284 } 272 285 s = owl_util_makepath("~"); 273 286 FAIL_UNLESS("makepath ~", !strcmp(home, s)); 274 287 g_free(s); 275 288 276 path = g_ build_filename(home, "foo/bar/baz", NULL);289 path = g_strconcat(home, "/foo/bar/baz", NULL); 277 290 s = owl_util_makepath("~///foo/bar//baz"); 278 291 FAIL_UNLESS("makepath ~///foo/bar//baz", !strcmp(path, s)); 279 292 g_free(s); 280 293 g_free(path); 281 g_free(home); 282 283 home = owl_util_homedir_for_user("root"); 284 if (home == NULL) { 294 295 errno = 0; 296 pw = getpwnam("root"); 297 if (pw) { 298 home = pw->pw_dir; 299 } else { 285 300 /* Just make some noise so we notice. */ 286 home = g_strdup("<WHAT>");287 fprintf(stderr, " owl_util_homedir_for_user failed");301 home = "<WHAT>"; 302 fprintf(stderr, "getpwnam: %s", errno ? strerror(errno) : "No such user"); 288 303 } 289 304 … … 292 307 g_free(s); 293 308 294 path = g_ build_filename(home, "foo/bar/baz", NULL);309 path = g_strconcat(home, "/foo/bar/baz", NULL); 295 310 s = owl_util_makepath("~root///foo/bar//baz"); 296 311 FAIL_UNLESS("makepath ~root///foo/bar//baz", !strcmp(path, s)); 297 312 g_free(s); 298 313 g_free(path); 299 g_free(home);300 314 301 315 /* if (numfailed) printf("*** WARNING: failures encountered with owl_util\n"); */ -
util.c
r8219374 rc0c48d14 32 32 } 33 33 34 CALLER_OWN char *owl_util_homedir_for_user(const char *name)35 {36 int err;37 struct passwd pw_buf;38 struct passwd *pw;39 40 char *pw_strbuf, *ret;41 long pw_strbuf_len = sysconf(_SC_GETPW_R_SIZE_MAX);42 if (pw_strbuf_len < 0) {43 /* If we really hate ourselves, we can be fancy and loop until we stop44 * getting ERANGE. For now just pick a random number. */45 owl_function_error("owl_util_homedir_for_user: Could not get _SC_GETPW_R_SIZE_MAX");46 pw_strbuf_len = 16384;47 }48 pw_strbuf = g_new0(char, pw_strbuf_len);49 err = getpwnam_r(name, &pw_buf, pw_strbuf, pw_strbuf_len, &pw);50 if (err) {51 owl_function_error("getpwuid_r: %s", strerror(err));52 /* Fall through; pw will be NULL. */53 }54 ret = pw ? g_strdup(pw->pw_dir) : NULL;55 g_free(pw_strbuf);56 return ret;57 }58 59 34 /* Return a "nice" version of the path. Tilde expansion is done, and 60 35 * duplicate slashes are removed. Caller must free the return. … … 67 42 /* Attempt tilde-expansion of the first component. Get the 68 43 tilde-prefix, which goes up to the next slash. */ 44 struct passwd *pw; 69 45 const char *end = strchr(in + 1, '/'); 70 46 if (end == NULL) 71 47 end = in + strlen(in); 72 48 73 /* Patch together a new path. Replace the ~ and tilde-prefix with74 the homedir, if available. */75 49 if (end == in + 1) { 76 /* My home directory. Use the one in owl_global for consistency with 77 * owl_zephyr_dotfile. */ 78 out = g_strconcat(owl_global_get_homedir(&g), end, NULL); 50 /* My home directory. */ 51 pw = getpwuid(getuid()); 79 52 } else { 80 53 /* Someone else's home directory. */ 81 54 char *user = g_strndup(in + 1, end - (in + 1)); 82 char *home = owl_util_homedir_for_user(user); 83 if (home) { 84 out = g_strconcat(home, end, NULL); 85 } else { 86 out = g_strdup(in); 87 } 88 g_free(home); 55 pw = getpwnam(user); 89 56 g_free(user); 90 57 } 58 59 /* Patch together a new path. Replace the ~ and tilde-prefix with 60 the homedir. */ 61 if (pw) { 62 out = g_strconcat(pw->pw_dir, end, NULL); 63 } else { 64 out = g_strdup(in); 65 } 91 66 } else { 92 out = g_strdup(in);67 out = g_strdup(in); 93 68 } 94 69 … … 413 388 if (!g_path_is_absolute(link_path)) { 414 389 char *last_dir = g_path_get_dirname(last_path); 415 char *tmp = g_build_filename(last_dir, link_path, NULL); 390 char *tmp = g_build_path(G_DIR_SEPARATOR_S, 391 last_dir, 392 link_path, 393 NULL); 416 394 g_free(last_dir); 417 395 g_free(link_path); -
variable.c
r30d0cf7 ra16d7e5 161 161 "Enable logging of login notifications", 162 162 "When this is enabled, BarnOwl will log login and logout notifications\n" 163 "for AIM, zephyr, or other protocols. If disabled BarnOwl will not print\n"163 "for AIM, zephyr, or other protocols. If disabled Owl will not print\n" 164 164 "login or logout notifications.\n"), 165 165 -
zcrypt.c
rc6332f5 r6829afc 411 411 int length[MAX_SEARCH], i; 412 412 char buffer[MAX_BUFF]; 413 const char *home;414 413 char *filename; 415 414 char result[MAX_SEARCH][MAX_BUFF]; … … 434 433 435 434 /* Open~/.crypt-table */ 436 home = getenv("HOME"); 437 if (home == NULL) 438 home = g_get_home_dir(); 439 filename = g_build_filename(home, ".crypt-table", NULL); 435 filename = g_strdup_printf("%s/.crypt-table", getenv("HOME")); 440 436 fsearch = fopen(filename, "r"); 441 437 if (fsearch) -
zephyr.c
rc855755 recffae6 38 38 return g_strdup(input); 39 39 else 40 return g_ build_filename(owl_global_get_homedir(&g), name, NULL);40 return g_strdup_printf("%s/%s", owl_global_get_homedir(&g), name); 41 41 } 42 42 … … 1231 1231 return -1; 1232 1232 ret = ZSetLocation(zstr(exposure)); 1233 if (ret != ZERR_NONE 1234 #ifdef ZCONST 1235 /* Before zephyr 3.0, ZSetLocation had a bug where, if you were subscribed 1236 * to your own logins, it could wait for the wrong notice and return 1237 * ZERR_INTERNAL when found neither SERVACK nor SERVNAK. Suppress it when 1238 * building against the old ABI. */ 1239 && ret != ZERR_INTERNAL 1240 #endif 1241 ) { 1233 if (ret != ZERR_NONE) { 1242 1234 owl_function_error("Unable to set exposure level: %s.", error_message(ret)); 1243 1235 return -1;
Note: See TracChangeset
for help on using the changeset viewer.