summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/lib/util.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/source3/lib/util.c b/source3/lib/util.c
index ebb89c9d89..fdd2b98c56 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -2607,13 +2607,26 @@ align a pointer to a multiple of 2 bytes
********************************************************************/
char *align2(char *q, char *base)
{
- if ((q - base) & 1)
+ if (PTR_DIFF(q, base) & 1)
{
q++;
}
return q;
}
+/*******************************************************************
+ align a pointer to a multiple of 4 bytes.
+ ********************************************************************/
+char *align4(char *q, char *base)
+{
+ int mod = PTR_DIFF(q, base) & 3;
+ if (mod != 0)
+ {
+ q += 4-mod;
+ }
+ return q;
+}
+
void out_ascii(FILE *f, unsigned char *buf,int len)
{
int i;