char *lpcfg_config_path(TALLOC_CTX* mem_ctx, struct loadparm_context *lp_ctx, const char *name) { char *fname, *config_dir, *p; config_dir = talloc_strdup(mem_ctx, lpcfg_configfile(lp_ctx)); if (config_dir == NULL) { config_dir = talloc_strdup(mem_ctx, lp_default_path()); } p = strrchr(config_dir, '/'); if (p == NULL) { talloc_free(config_dir); config_dir = talloc_strdup(mem_ctx, "."); if (config_dir == NULL) { return NULL; } } else { p[0] = '\0'; } fname = talloc_asprintf(mem_ctx, "%s/%s", config_dir, name); talloc_free(config_dir); return fname; }
static PyObject *py_default_path(PyObject *self) { return PyString_FromString(lp_default_path()); }