diff procedures.cpp @ 3:42c078b19e9a

* Replace null-pointer hack with use of standard macro offsetof(struct,member)
author Chris Cannam
date Tue, 05 Oct 2010 16:18:52 +0100
parents fc19d45615d1
children 5f3c32dc6e17
line wrap: on
line diff
--- a/procedures.cpp	Tue Oct 05 11:04:40 2010 +0100
+++ b/procedures.cpp	Tue Oct 05 16:18:52 2010 +0100
@@ -2,6 +2,7 @@
 
 #include <math.h>
 #include <string.h>
+#include <stddef.h>
 #include "procedures.h"
 #include "matrix.h"
 #include "opt.h"
@@ -1424,8 +1425,8 @@
 int HxPeak2(double*& hps, double*& vhps, double (*F)(double, void*), double (*dF)(double, void*), double(*ddF)(double, void*), void* params, double st, double en, double epf)
 {
   struct l_hx {int N; union {double B; struct {int k1; int k2;};}; cdouble* x; double dhxpeak; double hxpeak;} *p=(l_hx *)params;
-  int dfshift=int(&((l_hx*)0)->dhxpeak);
-  int fshift=int(&((l_hx*)0)->hxpeak);
+  int dfshift=offsetof(l_hx, dhxpeak);
+  int fshift=offsetof(l_hx, hxpeak);
   double B=p->B;
   int count=0;
 
@@ -2411,7 +2412,7 @@
 double Romberg(int n, double(*f)(double, void*), double a, double b, void* params)
 {
   int np=1;
-  double* r1=new double[n+1];.
+  double* r1=new double[n+1];
   double* r2=new double[n+1];
   double h=b-a, *swp;
   r1[1]=h*(f(a, params)+f(b, params))/2;