diff options
author | Gerald (Jerry) Carter <jerry@samba.org> | 2007-11-01 13:00:10 -0400 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-11-01 13:00:10 -0400 |
commit | 8132a7b98b09bb5915559f6ca0ca8eb3ae0e529d (patch) | |
tree | ce643ccdb0c0820d662d8373d2efc974245a76ea /source3/lib | |
parent | a7fab272082e82aa590e620da20dad4042b81e20 (diff) | |
download | samba-8132a7b98b09bb5915559f6ca0ca8eb3ae0e529d.tar.gz samba-8132a7b98b09bb5915559f6ca0ca8eb3ae0e529d.tar.bz2 samba-8132a7b98b09bb5915559f6ca0ca8eb3ae0e529d.zip |
Patch from Debian Samba package maintainers:
Patch 1 of 3:
- Patch 1 adds the new variables
- Patch 2 makes uses of them for files belonging to the "state" path
and the "code pages" path
This patch seemed more easily acceptable, which explains why we
separated it from patch 3
- Patch 3 reassigns files to the "cache" path. Indeed all "debatable"
changes have been moved to that one
The point is adding:
- a path for non discardable state data: basically all TDB files
that may need to be backed up
- a path for shared data: mostly codepage stuff
- a path for cache data to host files such as
browse.dat, printers.tbd, <printer>.tdb
All these are currently mixed in "libdir" (${prefix}/lib/samba by default).
The patch keeps these new paths to point to ${prefix}/lib/samba by default
and does therefore not change the software behaviour. Used alone, it just
adds unused variables...so it can safely be used in sources without any
behaviour change and no impact on Samba developers work.
(This used to be commit b7d2fadbef044a89920da613b1aafc74a3d94e24)
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/util.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/source3/lib/util.c b/source3/lib/util.c index 53200ad02a..c8f0c3121f 100644 --- a/source3/lib/util.c +++ b/source3/lib/util.c @@ -2435,6 +2435,39 @@ char *lib_path(const char *name) } /** + * @brief Returns an absolute path to a file in the Samba data directory. + * + * @param name File to find, relative to CODEPAGEDIR. + * + * @retval Pointer to a talloc'ed string containing the full path. + **/ + +char *data_path(const char *name) +{ + return talloc_asprintf(talloc_tos(), "%s/%s", dyn_CODEPAGEDIR, name); +} + +/***************************************************************** +a useful function for returning a path in the Samba state directory + *****************************************************************/ +char *state_path(char *name) +{ + pstring fname; + + pstrcpy(fname,dyn_STATEDIR()); + trim_string(fname,"","/"); + + if (!directory_exist(fname,NULL)) { + mkdir(fname,0755); + } + + pstrcat(fname,"/"); + pstrcat(fname,name); + + return talloc_strdup(talloc_tos(), fname); +} + +/** * @brief Returns the platform specific shared library extension. * * @retval Pointer to a static #fstring containing the extension. |