* The UCW Library -- Miscellaneous Functions
*
* (c) 1997--2004 Martin Mares <mj@ucw.cz>
+ * (c) 2005 Tomas Valla <tom@ucw.cz>
*
* This software may be freely distributed and used according to the terms
* of the GNU Lesser General Public License.
#define OFFSETOF(s, i) ((unsigned int)&((s *)0)->i)
#define SKIP_BACK(s, i, p) ((s *)((char *)p - OFFSETOF(s, i)))
#define ALIGN(s, a) (((s)+a-1)&~(a-1))
-#define ALIGN_PTR(p, s) ((typeof(p)) ((addr_int_t)(p) + (s) - (addr_int_t)(p) % (s)))
+#define ALIGN_PTR(p, s) ( (s)>1 ? ((typeof(p)) ((addr_int_t)(p) + (s) - (addr_int_t)(p) % (s))) : (p) )
#define UNALIGNED_PART(ptr, type) (((long) (ptr)) % sizeof(type))
/* Some other macros */