--- libaitsync/src/patch.c 2012/07/22 22:09:47 1.3 +++ libaitsync/src/patch.c 2014/02/04 16:58:17 1.5 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: patch.c,v 1.3 2012/07/22 22:09:47 misho Exp $ +* $Id: patch.c,v 1.5 2014/02/04 16:58:17 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -12,7 +12,7 @@ terms: All of the documentation and software included in the ELWIX and AITNET Releases is copyrighted by ELWIX - Sofia/Bulgaria -Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +Copyright 2004 - 2014 by Michael Pounov . All rights reserved. Redistribution and use in source and binary forms, with or without @@ -48,7 +48,8 @@ SUCH DAMAGE. /* - * sync_buildPatch() Build patch from buffer to pieces array + * sync_buildPatch() - Build patch from buffer to pieces array + * * @buf = Input buffer * @buflen = Buffer length * @arr = Array from pieces @@ -66,27 +67,29 @@ sync_buildPatch(void * __restrict buf, u_int buflen, s if (!buf || !arr) return -1; - a = malloc(sizeof(struct tagPiece)); + a = e_malloc(sizeof(struct tagPiece)); if (!a) { - SETERR; + LOGERR; return -1; } else memset(a, 0, sizeof(struct tagPiece)); for (pos = buf, i = 0; len && pos < buf + buflen; i++) { - a = realloc(a, sizeof(struct tagPiece) * (i + 2)); + a = e_realloc(a, sizeof(struct tagPiece) * (i + 2)); if (!a) { - SETERR; + LOGERR; return -1; } else { memset(&a[i + 1], 0, sizeof(struct tagPiece)); - // printf("%d.prefix_pos=%p len=%d\n", i, pos, len); +#if 0 + printf("start: %d.prefix_pos=%p len=%d\n", i, pos, len); +#endif - // prefix chunk + /* prefix chunk */ prefix = pos; if (prefix->sc_magic != DLTSYNC_MAGIC) { if (a) { - free(a); + e_free(a); a = NULL; } return -1; @@ -95,12 +98,14 @@ sync_buildPatch(void * __restrict buf, u_int buflen, s pos += sizeof(sync_chunk_t); len -= sizeof(sync_chunk_t); } - // printf("%d.prefix=%p pos=%p len=%d\n", i, a[i].pfx, pos, len); +#if 0 + printf("prefix: %d.prefix=%p pos=%p len=%d\n", i, a[i].pfx, pos, len); +#endif - // data + /* data */ if (!len) { if (a) { - free(a); + e_free(a); a = NULL; } return -1; @@ -109,9 +114,11 @@ sync_buildPatch(void * __restrict buf, u_int buflen, s pos += prefix->sc_len; len -= prefix->sc_len; } - // printf("%d.data=%p pos=%p len=%d\n", i, a[i].buf, pos, len); +#if 0 + printf("data: %d.data=%p pos=%p len=%d\n", i, a[i].buf, pos, len); +#endif - // if find sync chunk + /* if find sync chunk */ if (len) { suffix = pos; if (SIGSYNC_MAGIC == suffix->sc_magic) { @@ -119,7 +126,9 @@ sync_buildPatch(void * __restrict buf, u_int buflen, s pos += sizeof(sync_chunk_t); len -= sizeof(sync_chunk_t); } - // printf("%d.data=%p pos=%p len=%d\n", i, a[i].sfx, pos, len); +#if 0 + printf("suffix: %d.data=%p pos=%p len=%d\n", i, a[i].sfx, pos, len); +#endif } } }