Changeset b363d83
- Timestamp:
- Jul 8, 2007, 3:37:43 PM (18 years ago)
- Branches:
- master, barnowl_perlaim, debian, release-1.10, release-1.4, release-1.5, release-1.6, release-1.7, release-1.8, release-1.9
- Children:
- be98ba5
- Parents:
- 93f65b6
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
commands.c
r987ff51 rb363d83 2142 2142 char *filename; 2143 2143 2144 filename=owl_ sprintf("%s/%s", owl_global_get_homedir(&g), OWL_STARTUP_FILE);2144 filename=owl_global_get_startupfile(&g); 2145 2145 owl_function_popless_file(filename); 2146 owl_free(filename);2147 2146 } else if (!strcmp(argv[1], "errors")) { 2148 2147 owl_function_showerrs(); -
functions.c
r48609ce rb363d83 3461 3461 char *filename; 3462 3462 3463 filename=owl_ sprintf("%s/%s", owl_global_get_homedir(&g), OWL_STARTUP_FILE);3463 filename=owl_global_get_startupfile(&g); 3464 3464 file=fopen(filename, "a"); 3465 3465 if (!file) { 3466 3466 owl_function_error("Error opening startupfile for new command"); 3467 owl_free(filename);3468 3467 return; 3469 3468 } … … 3471 3470 /* delete earlier copies */ 3472 3471 owl_util_file_deleteline(filename, buff, 1); 3473 owl_free(filename);3474 3472 3475 3473 /* add this line */ … … 3483 3481 { 3484 3482 char *filename; 3485 filename=owl_ sprintf("%s/%s", owl_global_get_homedir(&g), OWL_STARTUP_FILE);3483 filename=owl_global_get_startupfile(&g); 3486 3484 owl_util_file_deleteline(filename, buff, 1); 3487 owl_free(filename);3488 3485 } 3489 3486 … … 3497 3494 3498 3495 if (!filename) { 3499 filename=owl_ sprintf("%s/%s", owl_global_get_homedir(&g), OWL_STARTUP_FILE);3496 filename=owl_global_get_startupfile(&g); 3500 3497 file=fopen(filename, "r"); 3501 owl_free(filename);3502 3498 } else { 3503 3499 file=fopen(filename, "r"); -
global.c
rf1fc47f rb363d83 86 86 g->homedir=owl_strdup(getenv("HOME")); 87 87 88 g->confdir = NULL; 89 g->startupfile = NULL; 90 char * cd = owl_sprintf("%s/%s", g->homedir, OWL_CONFIG_DIR); 91 owl_global_set_confdir(g, cd); 92 owl_free(cd); 93 88 94 owl_messagelist_create(&(g->msglist)); 89 95 owl_mainwin_init(&(g->mw)); … … 319 325 } 320 326 327 char *owl_global_get_confdir(owl_global *g) { 328 if (g->confdir) return(g->confdir); 329 return("/"); 330 } 331 332 /* 333 * Setting this also sets startupfile to confdir/startup 334 */ 335 void owl_global_set_confdir(owl_global *g, char *cd) { 336 free(g->confdir); 337 g->confdir = owl_strdup(cd); 338 free(g->startupfile); 339 g->startupfile = owl_sprintf("%s/startup", cd); 340 } 341 342 char *owl_global_get_startupfile(owl_global *g) { 343 if(g->startupfile) return(g->startupfile); 344 return("/"); 345 } 346 321 347 int owl_global_get_direction(owl_global *g) { 322 348 return(g->direction); -
owl.c
r13a3c1db rb363d83 64 64 owl_global g; 65 65 66 char * owl_get_datadir() { 67 char * datadir = getenv("BARNOWL_DATA_DIR"); 68 if(datadir != NULL) 69 return strchr(datadir, '=') + 1; 70 return DATADIR; 71 } 72 66 73 int main(int argc, char **argv, char **env) 67 74 { … … 73 80 struct sigaction sigact; 74 81 char *configfile, *tty, *perlout, *perlerr, **argvsave, buff[LINE], startupmsg[LINE]; 82 char *confdir; 75 83 owl_filter *f; 76 84 owl_style *s; … … 87 95 argvsave=argv; 88 96 configfile=NULL; 97 confdir = NULL; 89 98 tty=NULL; 90 99 debug=0; … … 101 110 } else if (!strcmp(argv[0], "-c")) { 102 111 if (argc<2) { 103 104 105 112 fprintf(stderr, "Too few arguments to -c\n"); 113 usage(); 114 exit(1); 106 115 } 107 116 configfile=argv[1]; … … 110 119 } else if (!strcmp(argv[0], "-t")) { 111 120 if (argc<2) { 112 113 114 121 fprintf(stderr, "Too few arguments to -t\n"); 122 usage(); 123 exit(1); 115 124 } 116 125 tty=argv[1]; 126 argv+=2; 127 argc-=2; 128 } else if (!strcmp(argv[0], "-s")){ 129 if (argc<2) { 130 fprintf(stderr, "Too few arguments to -s\n"); 131 usage(); 132 exit(1); 133 } 134 confdir = argv[1]; 117 135 argv+=2; 118 136 argc-=2; … … 191 209 /* owl global init */ 192 210 owl_global_init(&g); 193 if (debug) owl_global_set_debug_on(&g); 211 if (debug) owl_global_set_debug_on(&g); 212 if (confdir) owl_global_set_confdir(&g, confdir); 194 213 owl_function_debugmsg("startup: first available debugging message"); 195 214 owl_global_set_startupargs(&g, argcsave, argvsave); … … 213 232 /* create the owl directory, in case it does not exist */ 214 233 owl_function_debugmsg("startup: creating owl directory, if not present"); 215 dir=owl_ sprintf("%s/%s", owl_global_get_homedir(&g), OWL_CONFIG_DIR);234 dir=owl_global_get_confdir(&g); 216 235 mkdir(dir, S_IRWXU); 217 owl_free(dir);218 236 219 237 /* set the tty, either from the command line, or by figuring it out */ … … 697 715 { 698 716 fprintf(stderr, "Owl version %s\n", OWL_VERSION_STRING); 699 fprintf(stderr, "Usage: owl [-n] [-d] [-D] [-v] [-h] [-c <configfile>] [- t <ttyname>]\n");717 fprintf(stderr, "Usage: owl [-n] [-d] [-D] [-v] [-h] [-c <configfile>] [-s <confdir>] [-t <ttyname>]\n"); 700 718 fprintf(stderr, " -n don't load zephyr subscriptions\n"); 701 719 fprintf(stderr, " -d enable debugging\n"); … … 704 722 fprintf(stderr, " -h print this help message\n"); 705 723 fprintf(stderr, " -c specify an alternate config file\n"); 724 fprintf(stderr, " -s specify an alternate config dir (default ~/.owl)\n"); 706 725 fprintf(stderr, " -t set the tty name\n"); 707 726 } -
owl.h
r80e54a7 rb363d83 559 559 char *thishost; 560 560 char *homedir; 561 char *confdir; 562 char *startupfile; 561 563 int direction; 562 564 int zaway; -
perlglue.xs
r13a3c1db rb363d83 199 199 get_data_dir () 200 200 CODE: 201 RETVAL = (char *) DATADIR;201 RETVAL = (char *) owl_get_datadir(); 202 202 OUTPUT: 203 203 RETVAL 204 205 char * 206 get_config_dir () 207 CODE: 208 RETVAL = (char *) owl_global_get_confdir(&g); 209 OUTPUT: 210 RETVAL 204 211 205 212 void -
perlwrap.pm
r42947f1 rb363d83 21 21 }; 22 22 23 use lib(get_data_dir()."/lib"); 24 use lib($ENV{HOME}."/.owl/lib"); 25 23 use lib(get_data_dir() . "/lib"); 24 use lib(get_config_dir() . "/lib"); 25 26 # perlconfig.c will set this to the value of the -c command-line 27 # switch, if present. 26 28 our $configfile; 27 29
Note: See TracChangeset
for help on using the changeset viewer.