Am Mittwoch, 21. März 2007 09:53 schrieb Derek Atkins: > Why not just run: > > HOME=... gnucash > > ??? Or does this no longer work now that we've changed to > g_get_home_dir()?
According to the documentation of g_get_home_dir, this does *not* work any longer. I think this is a good extension. @James: The patch looks fine, except that you should use g_getenv instead of getenv (and IIRC there were some reversed semantics when changing from one such call to the other). Also, the result of g_build_filename is owned by the caller and will be freed later, and I'm not so sure whether this is correct for a string that was retrieved from getenv/g_getenv. Thanks for the contribution in any case, Christian > > Index: src/engine/gnc-filepath-utils.c > > =================================================================== > > --- src/engine/gnc-filepath-utils.c (revision 15738) > > +++ src/engine/gnc-filepath-utils.c (working copy) > > @@ -382,14 +382,17 @@ > > if (dotgnucash) > > return dotgnucash; > > > > - home = g_get_home_dir(); > > - if (!home) { > > - g_warning("Cannot find home directory. Using tmp directory > > instead."); - home = g_get_tmp_dir(); > > + dotgnucash = getenv("GNC_DOT_DIR"); > > + if(!dotgnucash) { > > + home = g_get_home_dir(); > > + if (!home) { > > + g_warning("Cannot find home directory. Using tmp > > directory > > instead."); + home = g_get_tmp_dir(); > > + } > > + g_assert(home); > > + > > + dotgnucash = g_build_filename(home, ".gnucash", (gchar *)NULL); > > } > > - g_assert(home); > > - > > - dotgnucash = g_build_filename(home, ".gnucash", (gchar *)NULL); > > gnc_validate_directory(dotgnucash); > > > > /* Since we're in code that is only executed once.... */ > > _______________________________________________ > > gnucash-devel mailing list > > gnucash-devel@gnucash.org > > https://lists.gnucash.org/mailman/listinfo/gnucash-devel _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel