diff options
author | Jeremy Allison <jra@samba.org> | 1998-02-11 11:07:14 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 1998-02-11 11:07:14 +0000 |
commit | 99e11e171e40703271ad2a7934708cee66b0bb82 (patch) | |
tree | ed892bbc53c3155d43e583ced1a59d47623fa1af /source3/lib | |
parent | 5546e28e69b1a43dbb48e024e233d8ebf7fa667a (diff) | |
download | samba-99e11e171e40703271ad2a7934708cee66b0bb82.tar.gz samba-99e11e171e40703271ad2a7934708cee66b0bb82.tar.bz2 samba-99e11e171e40703271ad2a7934708cee66b0bb82.zip |
Makefile: Added AIX 3.2.5.
loadparm.c: Added "win95 bug compatibility" parameter.
local.h: Replaced MAX_OPEN_FILES back to 100 from 10 (oops).
reply.c: Fixed ulogoff check against uid - changed to vuid.
server.c: Changed file struct save of uid - changed to vuid.
smb.h: Changed id in struct current_user to vuid.
Changed file struct uid to vuid.
time.c: Added "win95 bug compatibility" atime -> mtime return.
trans2.c: Added "win95 bug compatibility" fixes.
uid.c: Changed id in struct current_user to vuid - added checks
to set/reset it.
util.c: Added code to expand environment variables.
version.h : still at 1.9.18 (head branch doesn't matter too much at present).
Jeremy.
(This used to be commit adc903bcf59ad1664babd7f1d43675d3a75bfbc9)
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/time.c | 5 | ||||
-rw-r--r-- | source3/lib/util.c | 32 |
2 files changed, 36 insertions, 1 deletions
diff --git a/source3/lib/time.c b/source3/lib/time.c index 62a7016994..81e3dcfd8f 100644 --- a/source3/lib/time.c +++ b/source3/lib/time.c @@ -508,5 +508,8 @@ time_t get_create_time(struct stat *st) time_t get_access_time(struct stat *st) { - return st->st_atime; + if (lp_win95_bug_compatibility()) + return st->st_mtime; + else + return st->st_atime; } diff --git a/source3/lib/util.c b/source3/lib/util.c index 1d65269f95..3b30f1e6b5 100644 --- a/source3/lib/util.c +++ b/source3/lib/util.c @@ -3811,6 +3811,38 @@ void standard_sub_basic(char *str) case 'h' : string_sub(p,"%h", myhostname); break; case 'm' : string_sub(p,"%m", remote_machine); break; case 'v' : string_sub(p,"%v", VERSION); break; + case '$' : /* Expand environment variables */ + { + /* Contributed by Branko Cibej <branko.cibej@hermes.si> */ + fstring envname; + char *envval; + char *q, *r; + int copylen; + + if (*(p+2) != '(') { p+=2; break; } + if ((q = strchr(p,')')) == NULL) + { + DEBUG(0,("standard_sub_basic: Unterminated environment \ +variable [%s]\n", p)); + p+=2; break; + } + + r = p+3; + copylen = MIN((q-r),(sizeof(envname)-1)); + strncpy(envname,r,copylen); + envname[copylen] = '\0'; + if ((envval = getenv(envname)) == NULL) + { + DEBUG(0,("standard_sub_basic: Environment variable [%s] not set\n", + envname)); + p+=2; break; + } + copylen = MIN((q+1-p),(sizeof(envname)-1)); + strncpy(envname,p,copylen); + envname[copylen] = '\0'; + string_sub(p,envname,envval); + break; + } case '\0': p++; break; /* don't run off end if last character is % */ default : p+=2; break; } |