diff options
author | Jeremy Allison <jra@samba.org> | 2005-07-26 00:10:45 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:00:16 -0500 |
commit | 7fb9e6a860b47eaf82589b0ebbcd34dbd6ed5df4 (patch) | |
tree | 28bac741ed504e53defb8d0672daad3dfaf9a042 /source3/include | |
parent | bf3086156698a9026b0636dbe1acc7386c3d4b39 (diff) | |
download | samba-7fb9e6a860b47eaf82589b0ebbcd34dbd6ed5df4.tar.gz samba-7fb9e6a860b47eaf82589b0ebbcd34dbd6ed5df4.tar.bz2 samba-7fb9e6a860b47eaf82589b0ebbcd34dbd6ed5df4.zip |
r8762: Attempt to fix the winbindd crashing bug on Solaris (can't remember
the bugid). Make the functions in lib/util_unistr.c odd-alignment
safe using some evil macros. Needs testing on bigendian.
Jeremy.
(This used to be commit 871c647bc3ee465e613cba260d9cd7e66e47b68a)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/smb.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h index 097fb87a3f..d3374ccafc 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -150,6 +150,7 @@ typedef union unid_t { /* * SMB UCS2 (16-bit unicode) internal type. + * smb_ucs2_t is *always* in little endian format. */ typedef uint16 smb_ucs2_t; @@ -167,6 +168,10 @@ typedef smb_ucs2_t wfstring[FSTRING_LEN]; /* turn a 7 bit character into a ucs2 character */ #define UCS2_CHAR(c) ((c) << UCS2_SHIFT) +/* Copy into a smb_ucs2_t from a possibly unaligned buffer. Return the copied smb_ucs2_t */ +#define COPY_UCS2_CHAR(dest,src) (((unsigned char *)(dest))[0] = ((unsigned char *)(src))[0],\ + ((unsigned char *)(dest))[1] = ((unsigned char *)(src))[1], (dest)) + /* pipe string names */ #define PIPE_LANMAN "\\PIPE\\LANMAN" #define PIPE_SRVSVC "\\PIPE\\srvsvc" |