diff options
author | Jeremy Allison <jra@samba.org> | 1998-02-07 12:15:20 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 1998-02-07 12:15:20 +0000 |
commit | 5546e28e69b1a43dbb48e024e233d8ebf7fa667a (patch) | |
tree | c2a05cb21a5d1d420f7b7690980539f0896564c2 /source3/lib | |
parent | eefff40c6796638695e93b0503cff8ffdfc06596 (diff) | |
download | samba-5546e28e69b1a43dbb48e024e233d8ebf7fa667a.tar.gz samba-5546e28e69b1a43dbb48e024e233d8ebf7fa667a.tar.bz2 samba-5546e28e69b1a43dbb48e024e233d8ebf7fa667a.zip |
A small raft of changes, I will sync up with 1.9.18 also.
chgpasswd.c: Fixed typo in debug message.
includes.h: Fix include for aix.
kanji.c: Added cap_to_sj as inverse of sj_to_cap.
loadparm.c:
local.h:
password.c: Added code for "networkstation user login" parameter.
- patch from Rob Nielsen <ran@adc.com>.
printing.c: Added further aix printing fixes.
reply.c: Changed access time fetch to a function.
trans2.c: Changed access time fetch to a function.
time.c: Changed access time fetch to a function.
server.c: Made NT redirector workaround final.
util.c: Added debug for write_socket failing.
Jeremy.
(This used to be commit a031404623c22d62f8de035be2239f609af08112)
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/kanji.c | 36 | ||||
-rw-r--r-- | source3/lib/time.c | 11 | ||||
-rw-r--r-- | source3/lib/util.c | 4 |
3 files changed, 49 insertions, 2 deletions
diff --git a/source3/lib/kanji.c b/source3/lib/kanji.c index 2027a344c2..d63798914e 100644 --- a/source3/lib/kanji.c +++ b/source3/lib/kanji.c @@ -693,7 +693,39 @@ static char *sj_to_hex(char *from, BOOL overwrite) } /******************************************************************* - kanji/kana -> ":xx" + CAP <-> SJIS +********************************************************************/ +/* ":xx" CAP -> a byte */ +static char *cap_to_sj(char *from, BOOL overwrite) +{ + char *sp, *dp; + + sp = (char *) from; + dp = cvtbuf; + while (*sp) { + /* + * The only change between this and hex_to_sj is here. sj_to_cap only + * translates characters greater or equal to 0x80 - make sure that here + * we only do the reverse (that's why the strchr is used rather than + * isxdigit. Based on fix from ado@elsie.nci.nih.gov (Arthur David Olson). + */ + if (*sp == hex_tag && (strchr ("89abcdefABCDEF", sp[1]) != NULL) && isxdigit (sp[2])) { + *dp++ = (hex2bin (sp[1])<<4) | (hex2bin (sp[2])); + sp += 3; + } else + *dp++ = *sp++; + } + *dp = '\0'; + if (overwrite) { + strcpy ((char *) from, (char *) cvtbuf); + return (char *) from; + } else { + return cvtbuf; + } +} + +/******************************************************************* + kanji/kana -> ":xx" - CAP format. ********************************************************************/ static char *sj_to_cap(char *from, BOOL overwrite) { @@ -778,7 +810,7 @@ static int setup_string_function(int codes) case CAP_CODE: _dos_to_unix = sj_to_cap; - _unix_to_dos = hex_to_sj; + _unix_to_dos = cap_to_sj; break; } return codes; diff --git a/source3/lib/time.c b/source3/lib/time.c index f60af60c7a..62a7016994 100644 --- a/source3/lib/time.c +++ b/source3/lib/time.c @@ -499,3 +499,14 @@ time_t get_create_time(struct stat *st) */ return ret; } + +/**************************************************************************** + return the 'access time' under UNIX from a stat structure. + This function exists to allow modifications to be done depending + on what we want to return. Just return the normal atime (for now). +****************************************************************************/ + +time_t get_access_time(struct stat *st) +{ + return st->st_atime; +} diff --git a/source3/lib/util.c b/source3/lib/util.c index 1b9ed00c31..1d65269f95 100644 --- a/source3/lib/util.c +++ b/source3/lib/util.c @@ -1990,6 +1990,10 @@ int write_socket(int fd,char *buf,int len) ret = write_data(fd,buf,len); DEBUG(6,("write_socket(%d,%d) wrote %d\n",fd,len,ret)); + if(ret <= 0) + DEBUG(0,("write_socket: Error writing %d bytes to socket %d: ERRNO = %s\n", + len, fd, strerror(errno) )); + return(ret); } |