Diff for /embedaddon/rsync/byteorder.h between versions 1.1.1.2 and 1.1.1.3

version 1.1.1.2, 2013/10/14 07:51:14 version 1.1.1.3, 2016/11/01 09:54:32
Line 2 Line 2
  * Simple byteorder handling.   * Simple byteorder handling.
  *   *
  * Copyright (C) 1992-1995 Andrew Tridgell   * Copyright (C) 1992-1995 Andrew Tridgell
 * Copyright (C) 2007-2013 Wayne Davison * Copyright (C) 2007-2015 Wayne Davison
  *   *
  * This program is free software; you can redistribute it and/or modify   * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by   * it under the terms of the GNU General Public License as published by
Line 23 Line 23
   
 /* We know that the x86 can handle misalignment and has the same  /* We know that the x86 can handle misalignment and has the same
  * byte order (LSB-first) as the 32-bit numbers we transmit. */   * byte order (LSB-first) as the 32-bit numbers we transmit. */
#ifdef __i386__#if defined __i386__ || defined __i486__ || defined __i586__ || defined __i686__ || __amd64
 #define CAREFUL_ALIGNMENT 0  #define CAREFUL_ALIGNMENT 0
 #endif  #endif
   
Line 38 Line 38
   
 #define PVAL(buf,pos) (UVAL(buf,pos)|UVAL(buf,(pos)+1)<<8)  #define PVAL(buf,pos) (UVAL(buf,pos)|UVAL(buf,(pos)+1)<<8)
 #define IVAL(buf,pos) (PVAL(buf,pos)|PVAL(buf,(pos)+2)<<16)  #define IVAL(buf,pos) (PVAL(buf,pos)|PVAL(buf,(pos)+2)<<16)
   #define IVAL64(buf,pos) (IVAL(buf,pos)|(int64)IVAL(buf,(pos)+4)<<32)
 #define SSVALX(buf,pos,val) (CVAL(buf,pos)=(val)&0xFF,CVAL(buf,pos+1)=(val)>>8)  #define SSVALX(buf,pos,val) (CVAL(buf,pos)=(val)&0xFF,CVAL(buf,pos+1)=(val)>>8)
 #define SIVALX(buf,pos,val) (SSVALX(buf,pos,val&0xFFFF),SSVALX(buf,pos+2,val>>16))  #define SIVALX(buf,pos,val) (SSVALX(buf,pos,val&0xFFFF),SSVALX(buf,pos+2,val>>16))
#define SIVAL(buf,pos,val) SIVALX((buf),(pos),((uint32)(val)))#define SIVAL(buf,pos,val) SIVALX(buf,pos,(uint32)(val))
 #define SIVAL64(buf,pos,val) (SIVAL(buf,pos,val),SIVAL(buf,(pos)+4,(val)>>32))
   
 #define IVALu(buf,pos) IVAL(buf,pos)  #define IVALu(buf,pos) IVAL(buf,pos)
 #define SIVALu(buf,pos,val) SIVAL(buf,pos,val)  #define SIVALu(buf,pos,val) SIVAL(buf,pos,val)
Line 93  static inline void Line 95  static inline void
 SIVAL(char *buf, int pos, uint32 val)  SIVAL(char *buf, int pos, uint32 val)
 {  {
         SIVALu((uchar*)buf, pos, val);          SIVALu((uchar*)buf, pos, val);
   }
   
   static inline int64
   IVAL64(const char *buf, int pos)
   {
           union {
                   const char *b;
                   const int64 *num;
           } u;
           u.b = buf + pos;
           return *u.num;
   }
   
   static inline void
   SIVAL64(char *buf, int pos, int64 val)
   {
           union {
                   char *b;
                   int64 *num;
           } u;
           u.b = buf + pos;
           *u.num = val;
 }  }
   
 # endif /* !AVOID_BYTEORDER_INLINE */  # endif /* !AVOID_BYTEORDER_INLINE */

Removed from v.1.1.1.2  
changed lines
  Added in v.1.1.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>