Blob Blame History Raw
--- mpfit.c.orig	2012-10-01 00:30:51.533258108 +0100
+++ mpfit.c	2012-10-01 01:46:42.106809470 +0100
@@ -322,7 +322,7 @@
     if (config->stepfactor > 0) conf.stepfactor = config->stepfactor;
     if (config->nprint >= 0) conf.nprint = config->nprint;
     if (config->epsfcn > 0) conf.epsfcn = config->epsfcn;
-    if (config->maxiter > 0) conf.maxiter = config->maxiter;
+    if (config->maxiter >= 0) conf.maxiter = config->maxiter;
     if (config->douserscale != 0) conf.douserscale = config->douserscale;
     if (config->covtol > 0) conf.covtol = config->covtol;
     if (config->nofinitecheck > 0) conf.nofinitecheck = config->nofinitecheck;
@@ -624,7 +624,10 @@
    */
   if (gnorm <= conf.gtol) info = MP_OK_DIR;
   if (info != 0) goto L300;
-  if (conf.maxiter == 0) goto L300;
+  if (conf.maxiter == 0) {
+    info = MP_MAXITER;
+    goto L300;
+  }
 
   /*
    *	 rescale if necessary.