[med-svn] [fastlink] 02/04: Imported Upstream version 4.1P-fix100+dfsg

Andreas Tille tille at debian.org
Sun Jan 10 09:14:17 UTC 2016


This is an automated email from the git hooks/post-receive script.

tille pushed a commit to branch master
in repository fastlink.

commit aaaf1a17ecc9c2d0ddc19d2a80d6b8b5684bab33
Author: Andreas Tille <tille at debian.org>
Date:   Sun Jan 10 10:12:46 2016 +0100

    Imported Upstream version 4.1P-fix100+dfsg
---
 4.1P/src/.pure          |   0
 4.1P/src/check.c        |  27 +++++-
 4.1P/src/cominputcode.c |   6 +-
 4.1P/src/comlike.c      |  18 ++--
 4.1P/src/commondefs.h   |   5 +
 4.1P/src/comnuclear.c   |   2 +
 4.1P/src/comrec.c       |   2 +
 4.1P/src/ildefs.h       |   2 +-
 4.1P/src/ilink.c        |  59 ++++++------
 4.1P/src/iostuff.c      |   2 +
 4.1P/src/lidefs.h       |   1 -
 4.1P/src/lodefs.h       |   2 +-
 4.1P/src/lodscore.c     |  52 ++++++++---
 4.1P/src/loinputcode.c  |   2 +
 4.1P/src/loopbrk.c      |   8 +-
 4.1P/src/mldefs.h       |   1 -
 4.1P/src/unknown.c      |  22 ++++-
 README                  |   2 +-
 README.AIX              |  26 ------
 README.ALPHAVMS         |  87 ------------------
 README.DOS              | 121 ------------------------
 README.Digital          |  47 ----------
 README.IRIX             |  30 ------
 README.Linux            |   4 +-
 README.VAX              | 239 ------------------------------------------------
 README.VMS              |  35 -------
 README.install          |   8 +-
 README.portability      |   6 +-
 README.updates          |  24 ++++-
 29 files changed, 176 insertions(+), 664 deletions(-)

diff --git a/4.1P/src/.pure b/4.1P/src/.pure
deleted file mode 100644
index e69de29..0000000
diff --git a/4.1P/src/check.c b/4.1P/src/check.c
index 17baa82..d768c7b 100644
--- a/4.1P/src/check.c
+++ b/4.1P/src/check.c
@@ -16,6 +16,9 @@
 /* Avoiding Recomputation in Linkage Analysis,*/
 /*   Hum. Hered. 44(1994), pp. 225-237*/
 
+#include <string.h>
+#include <time.h>
+
 #include "commondefs.h"
 #include "checkpointdefs.h"
 #include "gemdefs.h"
@@ -54,7 +57,8 @@ fileErrorHelp ( fileName , problemType )
   puts ( "recommended that you break the execution of this program at" ) ;
   puts ( "this time and re-start computation." ) ;
 
-  gets ( theLine ) ;
+  /* for sizeof(theLine) to work, theLine must be an array, not a pointer */
+  fgets ( theLine, sizeof(theLine), stdin ) ;
 }
 
 /* In the process of checkpointing, we need to make copies of files;
@@ -172,7 +176,8 @@ void  recoveryErrorHelp ( )
   }
   fclose ( checkpointBackup ) ;
   checkpointBackup = NULL;
-  gets ( theLine ) ;
+  /* for sizeof(theLine) to work, theLine must be an array, not a pointer */
+  fgets ( theLine, sizeof(theLine), stdin ) ;
 }
 
 /* Puts the information tuple at the head of the checkpoint file. */
@@ -322,7 +327,16 @@ void  writeCheckpointInformation ()
 
   /* Miscellaneous */
 
+
+#ifdef ILINK
+  putCkptInt ( gemini_continue_ ) ;
+#elif LODSCORE
+  putCkptInt ( gemini_continue_ ) ;
+#elif LINKMAP
+  putCkptInt ( continue_ ) ;
+#elif MLINK
   putCkptInt ( continue_ ) ;
+#endif
   putCkptBoolean ( firstapprox ) ;
   putCkptBoolean ( firsttime ) ;
   putCkptBoolean ( lasttime ) ;
@@ -531,7 +545,16 @@ void readCheckpointInformation ()
   getCkptMatrix ( bmat ) ;
   
   /* Miscellaneous */
+#ifdef ILINK
+  getCkptInt ( gemini_continue_ ) ;
+#elif LODSCORE
+  getCkptInt ( gemini_continue_ ) ;
+#elif LINKMAP
   getCkptInt ( continue_ ) ;
+#elif MLINK
+  getCkptInt ( continue_ ) ;
+#endif
+
   getCkptBoolean ( firstapprox ) ;
   getCkptBoolean ( firsttime ) ;
   getCkptBoolean ( lasttime ) ;
diff --git a/4.1P/src/cominputcode.c b/4.1P/src/cominputcode.c
index cc05171..d64c8a3 100644
--- a/4.1P/src/cominputcode.c
+++ b/4.1P/src/cominputcode.c
@@ -15,6 +15,8 @@
    Please read README.loopfile.  See also unknown.c and commondefs.c.
 */
 
+#include <string.h>
+#include <time.h>
 
 #include "commondefs.h"
 #if !defined(DOS)
@@ -22,6 +24,9 @@
 #endif
 #include "gemdefs.h"
 
+extern void setiterate(struct LOC_inputdata *);
+extern void readloci(struct LOC_inputdata *);
+
 /* Local variables for getlocations: */
 struct LOC_getlocations {
   long ngene, nseg, here, there, start, nhet, thisseg;
@@ -1043,7 +1048,6 @@ int curr_ped;
       }
     }
   }
-  /*infer_genotypes(curr_ped);*/
   ever_read_loopfile = true;  /* global flag to say we're read this */
 }  /* read_loop_file */
 
diff --git a/4.1P/src/comlike.c b/4.1P/src/comlike.c
index 3d28696..f81a80e 100644
--- a/4.1P/src/comlike.c
+++ b/4.1P/src/comlike.c
@@ -15,6 +15,7 @@
    LOOPSPEED added at that time.
 */
 
+#include <string.h>
 
 #include "commondefs.h"
 #ifndef LESSMEMORY
@@ -25,6 +26,12 @@
 #include "lodefs.h"
 #endif
 
+extern void infer_genotypes(int);
+
+/* static void collapsedown (thisperson *p, struct LOC_likelihood *LINK);*/
+static void collapsedown (thisperson *, struct LOC_likelihood *);
+static void precollapsedown(thisperson *);
+
 #if PARALLEL
 #if IS_SHMEM
 
@@ -140,10 +147,6 @@ double *det;
   memcpy(m, v, sizeof(covmatrix));
 }
 
-/* static void collapsedown (thisperson *p, struct LOC_likelihood *LINK);*/
-static void collapsedown ();
-static void precollapsedown();
-
 Void cleanup(p, LINK)
 thisperson **p;
 struct LOC_likelihood *LINK;
@@ -1158,9 +1161,8 @@ struct LOC_likelihood *LINK;
 }  /*collapsedown*/
 
 
-Local Void precollapsedown(p, LINK)
+Local Void precollapsedown(p)
 thisperson *p;
-struct LOC_likelihood *LINK;
 {
   thisperson *childonlist;
 
@@ -1407,6 +1409,8 @@ int *loopmax;
   int temploopmax; /*placeholder for value of loopmax[i]*/
   thisarray *WITH1; /*placeholder for loop breaker genarray*/
 
+  temploopmax = loopmax[i];
+
   if (i < num_loops[ped -1]) {
     WITH1 = looppers[ped - 1][i][0]->gen;
     for(geno = 0; geno < loopmax[i]; geno++)
@@ -1698,7 +1702,7 @@ thisperson *proband_;
     }
     alldone = true;
     for (i = 0; i < maxloop; i++)
-      alldone = (alldone && V.loopgen[i] == loopmax[i]);
+      alldone = (alldone && V.loopgen[i] >= loopmax[i]);
   } while (!alldone);
   like = tmplike;
   if (risk && like != 0.0)
diff --git a/4.1P/src/commondefs.h b/4.1P/src/commondefs.h
index 5a04c6d..1fb1b6f 100644
--- a/4.1P/src/commondefs.h
+++ b/4.1P/src/commondefs.h
@@ -860,6 +860,9 @@ struct LOC_readloci {
 };
 
 /*The following definitions are needed to do checkpointing*/
+
+int continue_;  /* cgh */
+
 /* K. Shriram: begin */
 
 #define DateTimeStampStringLength       27      /* see ctime()'s man page */
@@ -904,6 +907,8 @@ FILE  * checkpointDatafile ;
 #define Tmk_distribute(a,b);
 #endif  /* IS_SHMEM */
 
+
+
 /* cgh -- new variables for MLINK and LINKMAP */
 
 /* Global private variable for MLINK and LINKMAP indicating which
diff --git a/4.1P/src/comnuclear.c b/4.1P/src/comnuclear.c
index e26fb8b..f078367 100644
--- a/4.1P/src/comnuclear.c
+++ b/4.1P/src/comnuclear.c
@@ -2,6 +2,8 @@
 /* shared by modified versions of the LODSCORE, ILINK, LINKMAP, and
 MLINK programs*/
 
+#include <string.h>
+
 Local double msegsex(LINK)
 struct LOC_seg *LINK;
 {
diff --git a/4.1P/src/comrec.c b/4.1P/src/comrec.c
index 8547a7e..4ec623f 100644
--- a/4.1P/src/comrec.c
+++ b/4.1P/src/comrec.c
@@ -12,6 +12,8 @@
 /* Most of the  code  in this file is not changed from LINKAGE 5.1 */
 /* The code in this file computes the recombination probabilities*/
 
+#include <string.h>
+
 #include "commondefs.h"
 #if !defined(DOS)
 #include "checkpointdefs.h"
diff --git a/4.1P/src/ildefs.h b/4.1P/src/ildefs.h
index eb3dc1f..8d8bd24 100644
--- a/4.1P/src/ildefs.h
+++ b/4.1P/src/ildefs.h
@@ -37,6 +37,6 @@ double penlike;
 /*GEMINI*/
  enum {
   go, quit, restart
-} continue_;
+} gemini_continue_;
 
 #endif  /* _ILDEFS_H */
diff --git a/4.1P/src/ilink.c b/4.1P/src/ilink.c
index 7ff65d9..970b11b 100644
--- a/4.1P/src/ilink.c
+++ b/4.1P/src/ilink.c
@@ -7,6 +7,7 @@
 /* and A. A. Schaffer, S. K. Gupta, K. Shriram, and R. W. Cottingham, Jr.,*/
 /* Avoiding Recomputation in Linkage Analysis */
 /* Human Heredity 44(1994), pp. 225-237.*/
+#include <string.h>
 
 #include "commondefs.h"
 #if !defined(DOS)
@@ -1654,7 +1655,7 @@ void AssignThetas()
     int i,j;
     int procNum;
 
-    if((n >= Tmk_nprocs) || (continue_ == quit)) {  /* At least as many thetas as processors */
+    if((n >= Tmk_nprocs) || (gemini_continue_ == quit)) {  /* At least as many thetas as processors */
         *slavesPerGroup = 1;
 	*numGroups = Tmk_nprocs;
     }
@@ -1715,7 +1716,7 @@ Void gforward()
   parallelThetas = 1;       /* Turn on parallel thetas */
   if(Tmk_proc_id == 0) {   /* If master, assign thetas, and setup global info */
       AssignThetas();
-      if (continue_ == quit)
+      if (gemini_continue_ == quit)
         *slavesPerGroup = 1;
       for(i=0;i<maxn;i++) {
 	  (*gx)[i] = x[i];
@@ -1767,7 +1768,7 @@ Void gforward()
 #endif /* !PARALLEL_GCENTRAL */
 
     x[i] += hx;
-    if (continue_ != quit) {
+    if (gemini_continue_ != quit) {
       fun(&fxph, x);
       gnfe[i]++;
     }
@@ -1798,7 +1799,7 @@ Void gforward()
 #endif /*DO_PARALLELTHETAS*/
 #if DO_PARALLELTHETAS
 #if FUNTIMES
-    if (continue_ != quit) {
+    if (gemini_continue_ != quit) {
       for(i=0;i<*nextTheta;i++) {
 #if PARALLEL_GCENTRAL
 	printf("Execution time (likelihood evaluation done by %d processor(s)) for %d = %7.3f\n", *(slavesPerGroup),i,executionTimes[i]);
@@ -1821,7 +1822,7 @@ Void gforward()
         }
 
         x[i] += hx;
-	if (continue_ != quit) {
+	if (gemini_continue_ != quit) {
 	  fun(&fxph, x);
 	  gnfe[i]++;
 	}
@@ -1871,7 +1872,7 @@ Void gforward()
     }
     xsave = x[i];
     x[i] += hx;
-    if (continue_ != quit) {
+    if (gemini_continue_ != quit) {
       fun(&fxph, x);
       savedf[i] = fxph;
     }
@@ -1881,7 +1882,7 @@ Void gforward()
     g[i] = (fxph - f) / hx;
     x[i] = xsave;
   }
-  if (continue_ != quit)
+  if (gemini_continue_ != quit)
     nfe += n;
 #endif /*PARALLEL*/
   for (i = 0; i < maxn; i++)
@@ -1920,7 +1921,7 @@ void gcentral()
       n=n*2;                 /* Double number of fun calls */
 #endif /* PARALLEL_GCENTRAL */
       AssignThetas();
-      if (continue_ == quit)
+      if (gemini_continue_ == quit)
 	/* cgh -- gcc found this: used to be *slavesPerGroup == 1 */
 	*slavesPerGroup = 1;
 #if PARALLEL_GCENTRAL
@@ -1984,7 +1985,7 @@ void gcentral()
 #if PARALLEL_GCENTRAL
     if((i%2) == 0) { /* doing first fe */ /*B+3*/
       x[i/2] += hx;
-      if (continue_ != quit) {
+      if (gemini_continue_ != quit) {
 	fun(&fxph, x);
 	gcentralf[i/2][0] = fxph;      /* Store fun value */
 	gnfe[i/2]+=2;
@@ -1993,7 +1994,7 @@ void gcentral()
     else { /* fe == 1, doing second fe */ /*B+3*/
       firstapprox = false;
       x[i/2] -= hx;
-      if (continue_ != quit) {
+      if (gemini_continue_ != quit) {
 	fun(&fxmh, x);
 	gcentralf[i/2][1] = fxmh;     /* Store fun value */
       }
@@ -2003,14 +2004,14 @@ void gcentral()
     xsave = x[i];
     x[i] += hx;
     fe = 0;
-    if (continue_ != quit) {
+    if (gemini_continue_ != quit) {
       fun(&fxph, x);
       gnfe[i]++;
     }
     firstapprox = false;
     x[i] = xsave - hx;
     fe = 1;
-    if (continue_ != quit) {
+    if (gemini_continue_ != quit) {
       fun(&fxmh, x);
       gnfe[i]++;
       (*gg)[i] = (fxph - fxmh) / (hx + hx);
@@ -2042,7 +2043,7 @@ void gcentral()
 #endif /*DO_PARALLELTHETAS*/
 #if DO_PARALLELTHETAS
 #if FUNTIMES
-    if (continue_ != quit) {
+    if (gemini_continue_ != quit) {
       for(i=0;i<*nextTheta;i++) { /*B+3*/
 #if PARALLEL_GCENTRAL
 	printf("Execution time (likelihood evaluation done by %d processor(s)) for %d,%d = %7.3f\n",*(slavesPerGroup),i/2,(i%2)+1,executionTimes[i]);
@@ -2081,7 +2082,7 @@ void gcentral()
 #if PARALLEL_GCENTRAL
         if((i%2) == 0) { /* doing first fe */ /*B+5*/
           x[i/2] += hx;
-          if (continue_ != quit) {
+          if (gemini_continue_ != quit) {
 	    fun(&fxph, x);
 	    gcentralf[i/2][0] = fxph;
 	    gnfe[i/2]+=2;
@@ -2091,7 +2092,7 @@ void gcentral()
         else { /* fe == 1 */ /*B+5*/
           firstapprox = false;
           x[i/2] -= hx;
-          if (continue_ != quit) {
+          if (gemini_continue_ != quit) {
 	    fun(&fxmh, x);
 	    gcentralf[i/2][1] = fxmh;
 	  }
@@ -2100,13 +2101,13 @@ void gcentral()
 #else /* !PARALLEL_GCENTRAL */
         xsave = x[i];
         x[i] += hx;
-        if (continue_ != quit) {
+        if (gemini_continue_ != quit) {
 	  fun(&fxph, x);
 	  gnfe[i]++;
         }
         firstapprox = false;
         x[i] = xsave - hx;
-        if (continue_ != quit) {
+        if (gemini_continue_ != quit) {
 	  fun(&fxmh, x);
 	  gnfe[i]++;
 	  (*gg)[i] = (fxph - fxmh) / (hx + hx);
@@ -2168,7 +2169,7 @@ void gcentral()
     } /*B+3*/
     xsave = x[i];
     x[i] += hx;
-    if (continue_ != quit) { /*B+3*/
+    if (gemini_continue_ != quit) { /*B+3*/
        fun(&fxph, x);
        savedf[2*i] = fxph;
     } /*B+3*/
@@ -2176,7 +2177,7 @@ void gcentral()
       fxph = savedf[2*i];
     firstapprox = false;
     x[i] = xsave - hx;
-    if (continue_ != quit) { /*B+3*/
+    if (gemini_continue_ != quit) { /*B+3*/
        fun(&fxmh, x);
        savedf[2 * i + 1] = fxmh;
     } /*B+3*/
@@ -2185,7 +2186,7 @@ void gcentral()
     g[i] = (fxph - fxmh) / (hx + hx);
     x[i] = xsave;
   } /*B+2*/
-  if (continue_ != quit)
+  if (gemini_continue_ != quit)
     nfe += 2 * n ;			/* Shriram */
 #endif
   for (i = 0; i < maxn; i++)
@@ -2406,7 +2407,7 @@ Local Void iterate()
     *secondfe = 1;
 #endif /*DO_LOADBALANCE*/
 #endif /*PARALLEL*/
-  while (continue_ == go) {
+  while (gemini_continue_ == go) {
     active = false;
 #if !defined(DOS)
     /* Shriram: begin */
@@ -2434,13 +2435,13 @@ Local Void iterate()
     getp();
     /* Shriram: end */
     if (idg != 0)
-      continue_ = quit;
+      gemini_continue_ = quit;
     else  {   /*idg == 0*/          /*Shriram*/
       iret = 2;
       if (ibnd == 1)
 	chkbnd();
       if (n == 0)
-	continue_ = quit;
+	gemini_continue_ = quit;
       if (!active)
       {
 #if !defined(DOS)
@@ -2455,7 +2456,7 @@ Local Void iterate()
     /* THE NEXT IS NOT TRUE IF ACTIVE */
     if (iret != 2) {
       if (idif != 1) {
-	continue_ = quit;
+	gemini_continue_ = quit;
 	break;
       }
       idif = 2;
@@ -2472,7 +2473,7 @@ Local Void iterate()
       continue;
     }
     if (active) {
-      continue_ = restart;
+      gemini_continue_ = restart;
       break;
     }
     if (idif == 1)
@@ -2510,7 +2511,7 @@ Local Void iterate()
     else
       update();
     if (idg == 3)
-      continue_ = quit;
+      gemini_continue_ = quit;
   }
 }
 
@@ -2527,8 +2528,8 @@ Void gemini()
   /* Shriram: end */
 #endif
 
-  continue_ = go;
-  while (continue_ != quit) {
+  gemini_continue_ = go;
+  while (gemini_continue_ != quit) {
 #if !defined(DOS)
     /* Shriram: begin */
     if ( ( checkpointedRun == checkpointStatus ) &&
@@ -2565,7 +2566,7 @@ Void gemini()
     }
 #endif
     /* Shriram: end */
-    continue_ = go;
+    gemini_continue_ = go;
 #if !defined(DOS)
   FunRecover34567:
 #endif
diff --git a/4.1P/src/iostuff.c b/4.1P/src/iostuff.c
index 0927784..082e242 100644
--- a/4.1P/src/iostuff.c
+++ b/4.1P/src/iostuff.c
@@ -20,6 +20,7 @@
    stdin is broken; remove the special case for it to be broken in a
    different way. */
 #include <stdio.h>
+#include <time.h>
 #include "commondefs.h"
 
 #if defined(LODSCORE)
@@ -270,6 +271,7 @@ while (!blank_line)   /* while we have not reached a blank line */
   /* then we had a blank line */
   if (tstr[0]=='\0') blank_line=true;
   }
+ return 0;
 }
 
 
diff --git a/4.1P/src/lidefs.h b/4.1P/src/lidefs.h
index 4ee1143..6eab9cd 100644
--- a/4.1P/src/lidefs.h
+++ b/4.1P/src/lidefs.h
@@ -28,7 +28,6 @@ boolean zeromale[maxlocus], zerofemale[maxlocus];
 int  j, whichvary, gridsize;
 double thetatot, thetainc, thisdist, thisdistm, thisdistf, finaltheta,
 	      tlike;
-int continue_;
 
 #if defined(DOS)
 typedef enum
diff --git a/4.1P/src/lodefs.h b/4.1P/src/lodefs.h
index 67a8d56..ea656ba 100644
--- a/4.1P/src/lodefs.h
+++ b/4.1P/src/lodefs.h
@@ -48,7 +48,7 @@
 /*GEMINI*/
 enum {
   go, quit, restart
-} continue_;
+} gemini_continue_;
 
 #if defined(DOS)
 typedef enum
diff --git a/4.1P/src/lodscore.c b/4.1P/src/lodscore.c
index 56851c6..a47dcf3 100644
--- a/4.1P/src/lodscore.c
+++ b/4.1P/src/lodscore.c
@@ -7,6 +7,8 @@
 /* Avoiding Recomputation in Linkage Analysis */
 /* Human Heredity 44(1994), pp. 225-237. */
 
+#include <string.h>
+
 #include "commondefs.h"
 #if !defined(DOS)
 #include "checkpointdefs.h"
@@ -17,6 +19,7 @@
 #include "moddefs.h"
 #endif
 
+
 Void setiterate();
 
 static Void getinformative()
@@ -1495,7 +1498,7 @@ Local Void gforward()
     }
     xsave = x[i];
     x[i] += hx;
-    if (continue_ != quit) {
+    if (gemini_continue_ != quit) {
       fun(&fxph, x);
       savedf[i] = fxph;
     }
@@ -1507,7 +1510,7 @@ Local Void gforward()
   }
   for(i=0; i < maxn; i++)
     xall[i] = xallsave[i];
-  if (continue_ != quit)
+  if (gemini_continue_ != quit)
     nfe += n;
 }
 
@@ -1559,7 +1562,7 @@ Local Void gcentral()
     }
     xsave = x[i];
     x[i] += hx;
-    if (continue_ != quit) {
+    if (gemini_continue_ != quit) {
       fun(&fxph, x);
       savedf[2*i] = fxph;
     }
@@ -1567,7 +1570,7 @@ Local Void gcentral()
       fxph = savedf[2*i];
     firstapprox = false;
     x[i] = xsave - hx;
-    if (continue_ != quit) {
+    if (gemini_continue_ != quit) {
       fun(&fxmh, x);
       savedf[2*i + 1] = fxmh;
     }
@@ -1578,7 +1581,7 @@ Local Void gcentral()
   }
   for(i=0; i < maxn; i++)
     xall[i] = xallsave[i];
-  if (continue_ != quit)
+  if (gemini_continue_ != quit)
     nfe += 2 * n ;			/* Shriram */
 }
 
@@ -1765,7 +1768,7 @@ Local Void iterate()
     funCallPath = fCP_gem_iter_ ;
   /* Shriram: end */
 #endif
-  while (continue_ == go) {
+  while (gemini_continue_ == go) {
     active = false;
 #if !defined(DOS)
     /* Shriram: begin */
@@ -1793,13 +1796,13 @@ Local Void iterate()
     getp();
     /* Shriram: end */
     if (idg != 0)
-      continue_ = quit;
+      gemini_continue_ = quit;
     else {    /*idg == 0*/         /*Shriram*/
       iret = 2;
       if (ibnd == 1)
 	chkbnd();
       if (n == 0)
-	continue_ = quit;
+	gemini_continue_ = quit;
       if (!active)
       {
 #if !defined(DOS)
@@ -1815,7 +1818,7 @@ Local Void iterate()
     /* THE NEXT IS NOT TRUE IF ACTIVE */
     if (iret != 2) {
       if (idif != 1) {
-	continue_ = quit;
+	gemini_continue_ = quit;
 	break;
       }
       idif = 2;
@@ -1832,7 +1835,7 @@ Local Void iterate()
       continue;
     }
     if (active) {
-      continue_ = restart;
+      gemini_continue_ = restart;
       break;
     }
     if (idif == 1)
@@ -1867,7 +1870,7 @@ Local Void iterate()
     else
       update();
     if (idg == 3)
-      continue_ = quit;
+      gemini_continue_ = quit;
   }
 }
 
@@ -1882,8 +1885,8 @@ static Void gemini()
     funCallPath = fCP_gem_ ;
   /* Shriram: end */
 #endif
-  continue_ = go;
-  while (continue_ != quit) {
+  gemini_continue_ = go;
+  while (gemini_continue_ != quit) {
 #if !defined(DOS)
     /* Shriram: begin */
     if ( ( checkpointedRun == checkpointStatus ) &&
@@ -1920,7 +1923,7 @@ static Void gemini()
     }
     /* Shriram: end */
 #endif
-    continue_ = go;
+    gemini_continue_ = go;
 #if !defined(DOS)  /* cgh - gcc */
   FunRecover34567:
 #endif  /* !defined(DOS) */
@@ -2027,6 +2030,26 @@ int ilocus, jlocus;
   }
 }
 
+void initializeParams()
+{
+  /*find number of recombination probabilities*/  
+  nuneed = 7;
+  for (i= 3; i<= mlocus; i++)
+    nuneed = 5 * nuneed - 3;
+
+#if !defined(LESSMEMORY)  
+  /*find size of isozygote class and it's square for joint classes*/
+  maxclasssize = 2;
+  for (i = 3; i<= mlocus; i++)
+    maxclasssize *= 2;
+  maxisozygclass = maxclasssize * maxclasssize;
+#endif
+  
+  nuprobclass = 2;
+  for(i = 2; i <= mlocus; i++)
+    nuprobclass = 3 * nuprobclass - 1;
+
+}
 
 int main(argc, argv)
 int argc;
@@ -2175,6 +2198,7 @@ char *argv[];
   ihx = 1;
   inconsistent = false;
   inputdata();
+  initializeParams();
   if (datafile != NULL)
     fclose(datafile);
   datafile = NULL;
diff --git a/4.1P/src/loinputcode.c b/4.1P/src/loinputcode.c
index 95b0deb..3483263 100644
--- a/4.1P/src/loinputcode.c
+++ b/4.1P/src/loinputcode.c
@@ -8,6 +8,8 @@
 /* Avoiding Recomputation in Genetic Linkage Analysis, */
 /* Human Heredity 44(1994), pp. 225-237. */
 
+#include <string.h>
+
 #include "commondefs.h"
 #if !defined(DOS)
 #include "checkpointdefs.h"
diff --git a/4.1P/src/loopbrk.c b/4.1P/src/loopbrk.c
index d5bf502..627c218 100644
--- a/4.1P/src/loopbrk.c
+++ b/4.1P/src/loopbrk.c
@@ -1,3 +1,5 @@
+#include<time.h>
+
 #include "unknown.h"
 
 static FILE *pedfile;
@@ -59,7 +61,7 @@ void close_files()
   if (NULL != pedfile) 
     fclose(pedfile);
   pedfile = NULL;
-  if (NULL != countfile);
+  if (NULL != countfile)
     fclose(countfile);
   countfile = NULL;
   if (NULL != tpedfile)
@@ -1622,13 +1624,13 @@ int     NumOfFamilies;	/* number of nuclear families */
 	NumOfFamilies++;
 	DirectedGraph[FamilyIndex].fSelected = TRUE;
 	DirectedGraph[FamilyIndex].fFamilyNode = TRUE;
-	if (fatherIndex = ped[NodeIndex].paid) {
+	if ( (fatherIndex = ped[NodeIndex].paid) ) {
 	  DirectedGraph[FamilyIndex].in[fatherIndex] =
 	    DirectedGraph[fatherIndex].out[FamilyIndex] = TRUE;
 	  DirectedGraph[FamilyIndex].indegree++;
 	  DirectedGraph[fatherIndex].outdegree++;
 	}
-	if (motherIndex = ped[NodeIndex].maid)
+	if ( (motherIndex = ped[NodeIndex].maid) )
 	  {
 	    DirectedGraph[FamilyIndex].in[motherIndex] =
 	      DirectedGraph[motherIndex].out[FamilyIndex] = TRUE;
diff --git a/4.1P/src/mldefs.h b/4.1P/src/mldefs.h
index 4eddc3c..5d16382 100644
--- a/4.1P/src/mldefs.h
+++ b/4.1P/src/mldefs.h
@@ -40,7 +40,6 @@ boolean zeromale[maxlocus], zerofemale[maxlocus];
 long j, nlocus, which, thissystem;
 double  tlike, finish, inc, scorevalue, holdtheta;
 
-int continue_;  /* cgh */
 
 #if defined(DOS)
 typedef enum
diff --git a/4.1P/src/unknown.c b/4.1P/src/unknown.c
index 4248d1e..996ab0e 100644
--- a/4.1P/src/unknown.c
+++ b/4.1P/src/unknown.c
@@ -50,8 +50,14 @@
   Some of these routines were merged by A. A. Schaffer in February 1997.
 */
 
+#include <time.h>
+
 #include "unknown.h"
 
+extern void loopbreakers(void);
+extern void detectLoopedPedigrees(boolean*);
+extern void loopbreakers2(FILE * lpedfile);
+
 static subhap seghap[maxgeno];
 static thisperson *person[maxind + 1];
 static thisperson *proband, *loop1, *loop2;
@@ -1290,6 +1296,8 @@ int ped;
 {
   int ind, locus, loop, vect, geno;  /* iterators */
   int geno_count;
+  boolean skip; /*test for skipping founder loop breakers*/
+  int loopcount; /*index over loops*/
 
   fprintf(loopfile, "Pedigree: %d\n", ped);
 
@@ -1321,9 +1329,15 @@ int ped;
   fprintf(loopfile, "unknown_poss:\n");
 
   for (ind = 1; ind <= totperson; ind++) {
-    
+
+    skip = FALSE;
+    /*skip over founder loop breakers*/
+    for(loopcount = 0; loopcount < num_loops; loopcount++)
+      if (person[ind] == looppers[loopcount][0])
+        skip = TRUE;    
+
     /* DYLAN -- second condition causes us to lose accuracy */
-    if ((person[ind]->unknown) && (person[ind]->foff != NULL)) {
+    if ((person[ind]->unknown) && (person[ind]->foff != NULL) && (!skip)) {
       fprintf(loopfile, "id: %ld\n", person[ind]->nseq);
       for (locus = 0; locus < nsystem; locus++) {
         fprintf(loopfile, "\tL: %d\n", locus);
@@ -4356,7 +4370,7 @@ int ped; /*pedigree number*/
 	  here++;
 	}
     }
-    fprintf(countfile,"At locus %d person %d has %d homozygous genotypes and\n %d heterozygous genotypes\n",whichsys,i,homoz,heteroz);
+    fprintf(countfile,"At locus %ld person %d has %d homozygous genotypes and\n %d heterozygous genotypes\n",whichsys,i,homoz,heteroz);
   }
 }  /* prelim_iterpeds*/
 #endif /*LOOP_BREAKERS*/
@@ -5045,7 +5059,7 @@ char *argv[];
   nsequence = 0;
   if (!P_eof(pedfile))
     fscanf(pedfile, "%ld", &newped);
-  for(ped = 0; ped < MAXPED; ped++);
+  for(ped = 0; ped < MAXPED; ped++)
     loop_infer_genotype[ped] = NULL;
   ped = 0;
   while (!P_eof(pedfile)) {
diff --git a/README b/README
index df1d1ba..8f205a4 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-From: ftp-bimas.cit.nih.gov                       Last mod: June 27, 1999
+From: ftp://ftp.ncbi.nih.gov/pub/fastlink             Last mod: June 27, 1999
 
                   FASTLINK, version 4.1P
 
diff --git a/README.AIX b/README.AIX
deleted file mode 100644
index 74c4ebc..0000000
--- a/README.AIX
+++ /dev/null
@@ -1,26 +0,0 @@
-From: ftp-bimas.cit.nih.gov                          Last mod: June 27,1999
-
-            FASTLINK Portability Information for AIX
-
-AIX is the operating system for some IBM workstations.
-
-FASTLINK ports fine to AIX, but some minor changes
-to the Makefile are necessary for compilation.
-
-Change 1. Use the xlc compiler, instead of gcc. Change the
-line
-
-	CC = gcc
-to
-	CC = xlc
-
-Change 2.  Uncomment the line
-
-	SYSDEP = -D_POSIX_SOURCE
-
-
-
-FASTLINK user, Helge Sachau, has contributed a wonderful document
-explaining how to port the LINKAGE auxiliary programs to AIX.
-You can find this document as sachau.ps in the subdirectory 
-aix (under fastlink). Thanks Helge!
diff --git a/README.ALPHAVMS b/README.ALPHAVMS
deleted file mode 100644
index 5cd75ec..0000000
--- a/README.ALPHAVMS
+++ /dev/null
@@ -1,87 +0,0 @@
-From: ftp-bimas.cit.nih.gov                        Last mod: October 9, 1997
-
-  The following are instructions for running FASTLINK 4.0P
-on DEC Alphas which run the OpenVMS operating system. The instructions
-were mostly put together by FASTLINK user Kimmo Kallio in Finland
-with recent adapatations by Don Plugge in the U.S..
-Thanks Kimmo and Don!
-
-  There are two fundamental problems in porting FASTLINK to a VMS
-system, compilation and checkpointing. Since checkpointing provides
-extra functionality over LINKAGE, for now we are primarily concerned
-with ensuring that the checkpointing does not break anything during
-runs that do not crash.  It is not clear whether crash-recovery
-works on VMS.
-
-  Kimmo has solved the compilation problem by creating his own make
-utility for OpenVMS. Note that there may be problems in porting this
-utility to VMS on a VAX. Here are the instructions I got via Kimmo.
-
-The top level directory after you untar the FASTLINK package is called
-fastlink. The main source code files can be found in the subdirectory
-4.0P/src. In the subdirectory 4.0P/alphavms, you will find the following
-extra files.
-
-1. checkpointdefs.h (intended to replace the checkpointdefs.h
-   that comes with FASTLINK)
-
-2. maketool_vms.com (command file to assist with Make)
-
-3. maketool_vms.c (little C program to assist with make)
-
-Here are the instructions, as I understand them.
-
-1. Read comments in maketool_vms.com and maketool_vms.c
-
-2. Among other things, these comments refer you to an ftp site from which
-   you can retrieve a version of make for OpenVMS.
-
-3. Install the make that you retrieve.
-
-4. Make sure all the 3 files from the alphavms directory are in the same
-   directory as the main FASTLINK source code files.  Note that you will
-   overwrite checkpointdefs.h with the new version.
-
-5. Unlike in version 2.2, you may now use the regular Makefile provided
-   with the FASTLINK distribution.  Find the section in the Makefile marked
-   "VMS Specific".  Follow the directions there to uncomment all of the
-   lines below up to (but not including) the line that starts "END: VMS".
-
-6. Now you can make any of the targets in Makefile as on UNIX.
-   Note that you should make the make_tool target first, since it
-   is used to make all the FASTLINK targets.
-
-Caution: The file commondefs.h includes certain .h files, which have
-definitions that come with any C compiler. The way these files are
-#included in commondefs.h makes standard assumptions about the user's
-search path and where the files are found. If you get compilation errors
-suggesting that these .h files cannot be found, you need to ask your system
-administrator where the files are on your VMS system and modify the
-#include lines at the top of commondefs.h accordingly.
-
-The compiled executables will end up in the source directory.
-You need to move them to where you want the exeutables to reside,
-and you will probably want to rename them to add the extension exe
-to the file name.
-
-Kimmo has also provided a couple of other utility programs that can be
-found in the 4.0P/alphavms subdirectory.
-
-1. setup.com -- A simplified version of a linkage setup file for VMS used
-   at the National Public Health institute in Finland.
-
-2. start_pedin.com -- A simplified version of a command file used to
-   start linkage batch jobs on VMS; to be used with SETUP.COM.
-
-Thanks again to Kimmo for all his work. 
-
-
-A more traditional way to compile on VMS is to use the
-MMS utility. In the subdirectory 4.0P/vaxvms you will find
-mms files called old.mms and new.mms that may be used on either
-VAX or Alpha. old.mms is a slight change from what used to
-work on some VAX systems for earlier versions of FASTLINK.
-The change reflects the existence of new code files
-(unknown.h and loopbrk.c). new.mms is a varient put together
-by Don Plugge that explicitly links in libraries to provide
-certain standard UNIX file functions. See README.VAX.
\ No newline at end of file
diff --git a/README.DOS b/README.DOS
deleted file mode 100644
index a2f3601..0000000
--- a/README.DOS
+++ /dev/null
@@ -1,121 +0,0 @@
-From: ftp-bimas.cit.nih.gov                         Last Mod: Sep. 30, 2006
-
-              FASTLINK for DOS
-
-This file describes FASTLINK for DOS, especially how it is
-related to FASTLINK for UNIX. Thanks to Ramana Idury and Roger Kou
-for figuring out how to convert the UNIX versions to
-DOS versions initially. Thanks to Aleksandr Morgulis for help
-in 2006 with making new compilations with Visual C++ for
-newer versions of Windows.
-
-
-Fundamental: We distribute 5 executables
-    
-      ilink.exe
-      linkmap.exe
-      lodscore.exe
-      mlink.exe
-      unknown.exe
-
-These can be plugged in directly instead of the similarly-named
-LINKAGE for DOS executables. An easy way to do this is to have
-separate directories for LINKAGE and FASTLINK. If you put the
-FASTLINK directory ahead of the LINKAGE directory in your default
-path, DOS will find the FASTLINK executables when appropriate,
-and will continue to use the LINKAGE executables for
-the auxiliary programs: lcp, lsp, lrp, makeped, preplink.
-
-Older executables are in the pub/fastlink/dos directory.
-Newer executables are in the pub/fastlink/windows directory.
-
-Some fundamental similarities and differences between UNIX versions
-and DOS versions should be noted:
-
-Similarities:
-1. The old executables are essentially the same as FASTLINK 3.0P; while
-   the new executables are essentially the same as FASTLINK 4.1P.
-2. Most of the documentation still applies except the instructions for
-   installation (we distribute executables for DOS, so no compilation
-   is required) and portability (basically irrelevant to DOS).
-3. We are distributing versions of LODSCORE, ILINK, LINKMAP, MLINK, UNKNOWN.
-   Other auxiliary programs can be obtained from the FTP site at 
-   Rockefeller University.
-
-Differences:
-1. We are distributing executable versions for DOS/Windows, rather
-   than source as for UNIX FASTLINK. Details about how to get the executables
-   are given below.
-2. FASTLINK for DOS/Windows does not support crash recovery.
-3. We are distributing only the "slow" versions of FASTLINK.
-   These are still measurably faster than LINKAGE.
-
-Cautions:
-1. FASTLINK is derived from LINKAGE 5.1 for UNIX and not from LINKAGE for
-DOS. We have tested FASTLINK on DOS, but we have not investigated to
-what extent LINKAGE for UNIX and LINKAGE for DOS are incompatible.
-
-2. If FASTLINK and LINKAGE give different answers, you should not
-assume that FASTLINK is wrong. LINKAGE may be wrong.
-I have fixed 2 significant bugs in LINKAGE LODSCORE/ILINK and 1
-significant bug in LINKAGE LINKMAP/MLINK. These bug fixes are described
-in README.updates. There is also an inconsistency in scaling in
-LINKAGE LINKMAP, which is fixed in FASTLINK LINKMAP (see README.scaling).
-
-3. You must a have 386 or higher machine. The executables under
-the pub/fastlink/dos directory  were tested on several
-different 486 machines. The executables under the pub/fastlink/windows
-directory were tested in 2006 on a PC running a fairly recent
-version fo Windows.
-
-4. You should have a Math co-processor on the machine.
-Most recent 486 machines will have this.
-
-Like FASTLINK for UNIX and VMS, FASTLINK for DOS is distributed by FTP
-from a computer at NIH.  Contact me by
-e-mail at schaffer at helix.nih.gov if you want the executables mailed
-to you on floppy disks.
-
-Here are the instructions for retrieving the code:
-   ftp fastlink.nih.gov
-
-Login as anonymous and leave your full e-mail address as password.
-   cd pub/fastlink  [for new versions]
-   binary
-
-In that directory and the
-   windows
-subdirectory you will find various files. You may wish to
-retrieve all the files with the name README and all the files that
-end .ps. These are all relevant documentation files.
-The file README with no extension gives a roadmap to
-all FASTLINK documentation.
-
-[For those who  receive FASTLINK for DOS on 3.5" diskettes,
-the documentation is on one of the diskettes and the sticky labels tell
-you which it is.]
-
-For those who retrieve the files via ftp.
-Having retrieved whatever documentation you want, you should retrieve:
-
-   lodscore.exe 
-   ilink.exe
-   linkmap.exe
-   mlink.exe
-   unknown.exe
-
-You should retrieve all 5 files. 
-You must use the FASTLINK version of UNKNOWN with the FASTLINK
-main programs. Remember to use binary mode
-in FTP.  Previous versions had a limit on the number of
-haplotypes; this limit has been eliminated in FASTLINK 3.0P.
-
-
-Note: The DOS/Windows executables are not currently included in
-fastlink.tar.Z, so you must retrieve them as individual files.
-
-
-
-
-
-
diff --git a/README.Digital b/README.Digital
deleted file mode 100644
index 86b4ef1..0000000
--- a/README.Digital
+++ /dev/null
@@ -1,47 +0,0 @@
-From: ftp-bimas.cit.nih.gov                         Last Mod: October 6, 1997
-
-            FASTLINK Portability Information for Digital UNIX
-
-Digital UNIX is an implementation of UNIX currently used on most DEC Alpha
-workstations. Earlier versions of Digital UNIX were called OSF.
-
-The code for FASTLINK 2.2 and beyond compiles fine on Digital UNIX. In
-version 2.1 of FASTLINK it is necessary to comment out the definition
-of uchar in commondefs.h. No modifications are needed to the
-Makefile. 
-
-Unfortunately, there are some problems with the implementation of
-floating point on the Alpha, which may interact badly with any or
-all of the compilers and FASTLINK. The bad behavior you get is
-a floating point exception and a core dump. I recoded some lines
-in FASTLINK to work around one manifestation of the problem, however,
-Martin Farrall reports that he still has a problem using the cc compiler
-with -O2 level of optimization (interestingly, both -O1 and -O3 seem
-to work).
-
-If you hit a floating-point exception, please perform as
-many of the the following experiments as you can before reporting the 
-problem to me:
-
-You can recompile the program with the following compiler flags added:
-
-1. Flag -ieee_compliant and without -O
-
-2. Without -O and -ieee_compliant.
-
-3. With -O1 and without -ieee_compliant.
-
-4. With -O2 and without -ieee_compliant.
-
-5. With -O3 and without -ieee_compliant.
-
-and rerun in each case to see if a crash occurs.  These flags should be
-added by editing the line in the Makefile that reads:
-
-  #SYSDEP =
-
-For example, to add the flag -ieee_compliant, change it to:
-
-  SYSDEP = -ieee_compliant
-
-To run parallel FASTLINK, refer to README.p4 for Digital UNIX-specific notes.
diff --git a/README.IRIX b/README.IRIX
deleted file mode 100644
index 646a46a..0000000
--- a/README.IRIX
+++ /dev/null
@@ -1,30 +0,0 @@
-From: ftp-bimas.cit.nih.gov                      Last mod; October 6, 1996
-
-            FASTLINK Portability Information for IRIX
-
-IRIX is an implementation of UNIX for SGI workstations. The following
-portability information was reported by David Featherstone.
-
-Versions 2.1 and beyond of FASTLINK ports fine to IRIX, but some two
-minor changes to the Makefile may be necessary for compilation.
-
-Change 1. Use the cc compiler, instead of gcc.
-
-Change 2. You may need to pass the -cckr flag to the compiler depending on
-your system.  You may do this by editing the line in the Makefile that
-reads:
-
-  #SYSDEP =
-
-and changing it to:
-
-  SYSDEP = -cckr
-
-It may be the case that gcc works on IRIX too, but David has not verified
-this. The changes beyond version 2.1 should not create any new problems.
-
-Versions of the LINKAGE auxiliary programs for IRIX are available
-from John Powell (jip at helix.nih.gov) or Jim Tomlin (jtomlin at helix.nih.gov)
-at NIH.
-
-To run parallel FASTLINK, refer to the README.p4 for IRIX-specific notes.
diff --git a/README.Linux b/README.Linux
index 641680a..e843cea 100644
--- a/README.Linux
+++ b/README.Linux
@@ -1,4 +1,4 @@
-From: ftp-bimas.cit.nih.gov                          Last mod: August 19, 1999
+From: ftp://ftp.ncbi.nih.gov/pub/fastlink    Last mod: March 31, 2012
 
                FASTLINK Portability information for Linux
 
@@ -10,6 +10,6 @@ port fine to Linux. No change in the Makefile is needed.
 
 Source code and executables for the LINKAGE auxiliary programs
 lcp, lrp, lsp, and makeped is available on
-fastlink.nih.gov under pub/staff/schaffer/linux-aux.
+ftp.ncbi.nih.gov under pub/fastlink/linux-aux.
 
 Please report any problems to me at schaffer at helix.nih.gov
\ No newline at end of file
diff --git a/README.VAX b/README.VAX
deleted file mode 100644
index 3a3375c..0000000
--- a/README.VAX
+++ /dev/null
@@ -1,239 +0,0 @@
-From: ftp-bimas.cit.nih.gov                       Last Mod: October 9, 1997
-
-          Porting FASTLINK to VAX/VMS
-
-This document describes how to get the FASTLINK (v4.0P and beyond)
-package running under VAX/VMS with the DEC C compiler or the VAX C
-compiler. It should also be applicable to AXP/VMS.  You have two
-choices: either use the compilation script prepared by Steve Roberts
-for DEC C with troubleshooting by Anita Destefano, or use the MMS
-script prepared by Kimmo Kallio, Don Plugge, Shriram Krishnamurthi and
-Alejandro Schaffer.
-
-|*| Instructions for DEC C:
-    ----------------------
-AUTHOR
-------
-Steve Roberts, 
-Paterson Institute for Cancer Research, Manchester, M20 9BX, U.K.
-bmcsar at picr.cr.man.ac.uk.
-22-Sep-1994
-
-Slight modifications to explain where to find things in the FASTLINK
-distribution by Alejandro A. Schaffer.
-
-PREREQUISITES
--------------
-Use DEC C. DEC C is the latest C compiler distributed by Digital for
-VMS. Unfortunately it costs money, but the upgrade from VMS C to DEC C is
-"free" to those with valid support contracts.
-
-DISCLAIMER
-----------
-The programs all compile and link successfully under VAX/VMS v5.5-2 with
-DEC C v4.0.  The programs used by my users all work for their data. However
-not all the programs have been thoroughly tested, and those that have only
-as far as my users require.
-
-SETUP
------
-Copy the file decc_checkpointdefs.h found in the fastlink subdirectory
-4.0P/vaxvms in place of checkpointdefs.h.
-
-Copy the files FASTLINK_BUILD.VMS and FASTLINK_START.VMS to that
-directory as well, and change to that directory.
-
-The place where the standard .h definition files for C are found seems to
-vary from VAX to VAX. It is likely that you need to change the first few
-lines of commondefs.h.
-
-In particular, the section:
-
-  /* VMS: MAY NEED TO CHANGE --
-     possibly uncomment the following 2 lines */
-  /* #include unixio */
-  /* #include file */
-
-  #include <stdio.h>
-
-  /* Shriram: begin */
-  #include <errno.h>
-  #include <math.h>
-
-  /* VMS: MAY NEED TO CHANGE --
-     possibly remove "sys/" from the next 3 lines */
-  #include <sys/stat.h>
-  #include <sys/time.h>
-  #include <sys/types.h>
-  /* Shriram: end */
-
-  #if !defined(vms)
-  #include <malloc.h>
-  #endif
-  #include <varargs.h>
-
-  /* VMS: MAY NEED TO CHANGE --
-    comment out the any of the next 3 lines for files your system can't find */
-  #include <stdlib.h>
-  #include <unistd.h>
-  #include <fcntl.h>
-
-includes 3 possible places you might need to edit (marked "VMS: MAY NEED TO
-CHANGE").  If you have trouble compiling as-is, this is the first place to
-look.  You may consult with your system administrator for help on how to
-make this modification for your VMS machine.
-
-COMPILING
----------
-The VMS command file FASTLINK_BUILD.VMS will compile and link all the
-source code to produce the 10 executables. The DEC C compiler is fussy and
-produces a small heap of warnings and informational messages. As far as I
-can tell, these are all perfectly ignorable!
-
-It should be possible to use the distributed makefile, with a few minor
-changes if you have a unix-compatible make facility. There are a number of
-make facilities on the net, and the VMS POSIX interface also provides
-one. I have not yet got this approach to work, but if you have any of these
-facilities working then give it a go. VMS POSIX has a "feature" that means
-you cannot give the object file produced by the C compiler a name different
-from the input source file - so the supplied makefile will need some
-modification.  You will need to add references to VMS.C and its object file
-in the appropriate places.
-
-RUNNING
--------
-The VMS command file FASTLINK_START.VMS will define symbols for all the
-executables. The line defining the source code directory will need modifying
-for your local installation. This file needs to be run before using the
-programs. We define a global command 
-
-  FASTLINK :== @fastlink_dir:FASTLINK_START.VMS
-
-in Sylogin.com, then our users just need to type the command FASTLINK to set up
-their environment to run the programs.
-
-The programs are run by simply typing the program names.
-
-The datafiles (Datafile, pedfile, etc.) all require a .DAT filetype
-(datafile.dat, pedfile,dat, etc.)
-
-
-CHECKPOINTING
--------------
-With the changes outlined above the checkpointing code will run and not cause
-any problems. However I am not sure yet that the checkpointing will allow you
-to recover from a crash under VMS. I am still working on this! 
-
-OUTSTANDING ISSUES
-------------------
-Checkpointing has not been tested (see above).
-
-The CKPT program will not work
-
-
-|*| Instructions for MMS:
-    ----------------------
-AUTHOR
-------
-Alejandro Schaffer with lots of help from Shriram Krishnamurthi and
-Don Plugge.
-
-
-PREREQUISITES
--------------
-Must have MMS compilation utility installed.
-
-DISCLAIMER
-----------
-Testing has been somewhat limited and I know very little about VMS.
-
-SETUP for VAXC
--------------
-Before compiling you must run the commands:
-
-  $DEFINE LNK$LIBRARY SYS$LIBRARY:VAXCRTLG
-  $DEFINE LNK$LIBRARY_1 SYS$LIBRARY:VAXCRTL
-
-It may be safe to put these in your LOGIN.COM, but check with your system
-administrator before doing so.
-
-Copy the file vaxc_checkpointdefs.h found in the fastlink subdirectory
-4.0P/vaxvms in place of checkpointdefs.h.
-
-The place where the standard .h definition files for C are found seems to
-vary from VAX to VAX. It is likely that you need to change the first few
-lines of commondefs.h.
-
-In particular, the section:
-
-  /* VMS: MAY NEED TO CHANGE --
-     possibly uncomment the following 2 lines */
-  /* #include unixio */
-  /* #include file */
-
-  #include <stdio.h>
-
-  /* Shriram: begin */
-  #include <errno.h>
-  #include <math.h>
-
-  /* VMS: MAY NEED TO CHANGE --
-     possibly remove "sys/" from the next 3 lines */
-  #include <sys/stat.h>
-  #include <sys/time.h>
-  #include <sys/types.h>
-  /* Shriram: end */
-
-  #if !defined(vms)
-  #include <malloc.h>
-  #endif
-  #include <varargs.h>
-
-  /* VMS: MAY NEED TO CHANGE --
-    comment out the any of the next 3 lines for files your system can't find */
-  #include <stdlib.h>
-  #include <unistd.h>
-  #include <fcntl.h>
-
-includes 3 possible places you might need to edit (marked "VMS: MAY NEED TO
-CHANGE").  If you have trouble compiling as-is, this is the first place to
-look.  You may consult with your system administrator for help on how to
-make this modification for your VMS machine.
-
-
-COMPILING
----------
-Copy the files OLD.MMS to the directory where the source code is:
-
-Run:
-
- MMS/DESCRIP=OLD.MMS fastlink
-for fast versions
-
- MMS/DESCRIP=OLD.MMS slowfastlink
-for slow versions
-
- MMS/DESCRIP=OLD.MMS unknown
-for UNKNOWN
-
- MMS/DESCRIP=OLD.MMS clean
-to clean up
-
-SETUP for DEC C
--------------
-Similar to VAX C, but use  decc_checkpointdefs.h instead of
-vaxc_checkpointdefs.h to replace checkpointdefs.h and
-use NEW.MMS instead of OLD.MMS.
-
-CHECKPOINTING
--------------
-Crash recovery works for MLINK and LINKMAP. Crash recovery does
-not work for ILINK and LODSCORE and has been disabled for those two
-programs. The checkpointing leaves many files around because MMS
-has version numbers and does not overwrite the old checkpoint
-with the new. Use PURGE frequently to clean up.
-
-OUTSTANDING ISSUES
-------------------
-Checkpointing does not yet work for ILINK and LODSCORE.
-
diff --git a/README.VMS b/README.VMS
deleted file mode 100644
index df6c593..0000000
--- a/README.VMS
+++ /dev/null
@@ -1,35 +0,0 @@
-From: ftp-bimas.cit.nih.gov                    Last update: October 9, 1997
-
-                 Portability Information for VMS
-
-FASTLINK can be ported to VMS, although it takes some effort to get
-things set up. At this time, checkpointing and crash-recovery do not
-work in all cases, but they do not interfere with runs that do not
-crash.
-
-There are two significant variants of VMS in existence. One is VMS for
-VAXen and the other is OpenVMS for Alphas. The FASTLINK distribution
-includes separate instructions for these two versions. The availability of
-these instructions is largely due to the super effort of four
-adventuresome FASTLINK users, Steve Roberts in the United Kingdom, Kimmo
-Kallio in Finland, Anita Destefano in the U.S., Don Plugge in the U.S
-and to Shriram Krishnamurthi, a student at Rice. Steve provided 
-instructions for VAXen and Kimmo for Alphas. Don updated both the MMS
-file and the Make tool for FASTLINK 4.0P and tested them on
-several systems. All four users did extensive testing and
-troubleshooting.  Thanks to Steve, Kimmo, Anita, Don, and Shriram!
-
-You can find the top level instructions for VAX/VMS in README.VAX and they
-refer to some files in fastlink/4.0P/vaxvms, where fastlink is the top
-level directory created when you untar FASTLINK. Caution: I am using UNIX
-syntax for subdirectories here; you need to adapt this to VMS syntax.  You
-can find the top level instructions for OpenVMS in README.ALPHAVMS and they
-refer to some files in fastlink/4.0P/alphavms. One way of
-compilation that may work on either type of system is MMS.
-A suitable MMS file can be found in the fastlink/4.0P/vaxvms directory.
-It may require small modifications to be ported to different VMS
-computers.
-
-More user input on simplifying the FASTLINK port to VMS, making it work
-with more compilers, and testing checkpointing would be very much
-appreciated.
diff --git a/README.install b/README.install
index 2ad8fad..29d226d 100644
--- a/README.install
+++ b/README.install
@@ -1,4 +1,4 @@
-From: ftp-bimas.cit.nih.gov                       Last mod: June 27, 1999
+From: ftp://ftp.ncbi.nih.gov/pub/fastlink            Last mod: March 12, 2012
 
                   FASTLINK, version 4.1P
 
@@ -15,13 +15,9 @@ read README.parallel, README.p4 (for shared-memory), and README.TreadMarks
 The code is available by anonymous ftp to a machine at NIH
 Here are specific instructions:
 
-  ftp fastlink.nih.gov
-or equivalently
-  ftp ftp-bimas.cit.nih.gov
+  ftp ftp.ncbi.nlm.nih.gov
 
 Login as anonymous, please leave your FULL e-mail address as password.
-This is very important in case we need to let you know about bugs, fixes,
-and future versions.
 
   cd pub/fastlink
 
diff --git a/README.portability b/README.portability
index 62e2284..ae3b165 100644
--- a/README.portability
+++ b/README.portability
@@ -1,4 +1,4 @@
-From: ftp-bimas.cit.nih.gov                         Last mod: October 23, 2006
+From: ftp://ftp.ncbi.nih.gov/pub/fastlink          Last mod: March 31, 2012
 
              Portability Information
 
@@ -38,7 +38,7 @@ tests would be greatly appreciated!
      In 2006, I compiled new executables for Windows and these are
      posted in the pub/fastlink/windows subdirectory, which is
      equivalent to the URL:
-     ftp://fastlink.nih.gov/pub/fastlink/windows
+     ftp://ftp.ncbi.nih.gov/pub/fastlink/windows
 
 |*| HP/UX -- the standard operating system for some Hewlett-Packard 
              workstations.
@@ -62,7 +62,7 @@ tests would be greatly appreciated!
 |*| Mac OSX -- executables compiled by David Stockton are in the
       pub/fastlink/mac directory as one zip file.
       Equiavlently, you can retrive them with the URL:
-      ftp://fastlink.nih.gov/pub/fastlink/mac/FASTLINK_executables.zip
+      ftp://ftp.ncbi.nlm.nih.gov/pub/fastlink/mac/FASTLINK_executables.zip
 
 |*| OS/2  --- operating system for some IBM-compatible PC's
       Luc Krols reports that he was able to get an earlier version of
diff --git a/README.updates b/README.updates
index d43e33e..4d86077 100644
--- a/README.updates
+++ b/README.updates
@@ -1,4 +1,4 @@
-From: ftp-bimas.cit.nih.gov                       Last mod: February 28, 2008
+From: ftp://ftp.ncbi.nih.gov/pub/fastlink       Last mod: Sept. 12, 2014
 
                   FASTLINK, version 4.1P
 
@@ -798,7 +798,7 @@ and
 
 94a. Compiled new Windows executables and posted them in the
     pub/fastlink/windows subdirectory equivalent to
-    ftp://fastlink.nih.gov/pub/fastlink/windows
+    ftp://ftp.ncbi.nih.gov/pub/fastlink/windows
 
 94b. Made various source code changes to eliminate Windows
     compiler warnings. Thanks to Aleksandr Morgulis for
@@ -807,4 +807,22 @@ and
 95. Changed loopbrk.c to avoid a double call of fclose(lpedfile)
     when 
       unknown -l 
-    was used. Thanks to Mike Gertz for reporting this bug.
\ No newline at end of file
+    was used. Thanks to Mike Gertz for reporting this bug.
+
+96. Changed unknown.c to fix a bug that arrose when ALLELE_SPEED
+    is 0. Thanks to Tero Hiekkalinna for reporting this bug.
+
+97. Updated the ftp site in various README files.
+
+98. Changed various code files to repair conflicting
+    definitions of continue_. Now the code uses
+    gemini_continue in ilink and lodscore. Thanks
+    to Michael Tautschnig for reporting this bug.
+
+99. Fixed a bug in lodscore that would arise in LESSMEMORY was
+    not defined, but ALLE_SPEED was 0.
+
+100. Fixed various potential problems with compilation and
+    eliminated use of gets, following suggestions from
+    E. Michel Gertz.
+ 
\ No newline at end of file

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/fastlink.git



More information about the debian-med-commit mailing list