aboutsummaryrefslogtreecommitdiff
path: root/src/sg_raw.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sg_raw.c')
-rw-r--r--src/sg_raw.c38
1 files changed, 21 insertions, 17 deletions
diff --git a/src/sg_raw.c b/src/sg_raw.c
index 174a158b..ce6ed7f3 100644
--- a/src/sg_raw.c
+++ b/src/sg_raw.c
@@ -25,7 +25,7 @@
#include "sg_lib.h"
#include "sg_pt.h"
-#define SG_RAW_VERSION "0.4.6 (2013-10-13)"
+#define SG_RAW_VERSION "0.4.7 (2013-11-24)"
#ifdef SG_LIB_WIN32
#ifndef HAVE_SYSCONF
@@ -248,7 +248,6 @@ process_cl(struct opts_t *optsp, int argc, char *argv[])
static unsigned char *
my_memalign(int length, unsigned char ** wrkBuffp)
{
- unsigned char * wrkBuff;
size_t psz;
#if defined(HAVE_SYSCONF) && defined(_SC_PAGESIZE)
@@ -262,28 +261,33 @@ my_memalign(int length, unsigned char ** wrkBuffp)
#ifdef HAVE_POSIX_MEMALIGN
{
int err;
+ void * wp = NULL;
- err = posix_memalign((void **)&wrkBuff, psz, length);
- if (err) {
- fprintf(stderr, "posix_memalign: error [%d] out of memory?\n",
+ err = posix_memalign(&wp, psz, length);
+ if (err || (NULL == wp)) {
+ fprintf(stderr, "posix_memalign: error [%d], out of memory?\n",
err);
return NULL;
}
- memset(wrkBuff, 0, length);
+ memset(wp, 0, length);
if (wrkBuffp)
- *wrkBuffp = wrkBuff;
- return wrkBuff;
+ *wrkBuffp = (unsigned char *)wp;
+ return (unsigned char *)wp;
}
#else
- wrkBuff = (unsigned char*)calloc(length + psz, 1);
- if (NULL == wrkBuff) {
- if (wrkBuffp)
- *wrkBuffp = NULL;
- return NULL;
- } else if (wrkBuffp)
- *wrkBuffp = wrkBuff;
- return (unsigned char *)(((unsigned long)wrkBuff + psz - 1) &
- (~(psz - 1)));
+ {
+ unsigned char * wrkBuff;
+
+ wrkBuff = (unsigned char*)calloc(length + psz, 1);
+ if (NULL == wrkBuff) {
+ if (wrkBuffp)
+ *wrkBuffp = NULL;
+ return NULL;
+ } else if (wrkBuffp)
+ *wrkBuffp = wrkBuff;
+ return (unsigned char *)(((unsigned long)wrkBuff + psz - 1) &
+ (~(psz - 1)));
+ }
#endif
}