Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 1 Sep 2019 16:40:06 +0000 (UTC)
From:      Li-Wen Hsu <lwhsu@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r510707 - in head/biology/recombine: . files
Message-ID:  <201909011640.x81Ge6Dp010246@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: lwhsu
Date: Sun Sep  1 16:40:06 2019
New Revision: 510707
URL: https://svnweb.freebsd.org/changeset/ports/510707

Log:
  Add a patch to remove use of gets(3)
  
  PR:		238685
  Submitted by:	Walter Schwarzenfeld <w.schwarzenfeld@utanet.at>
  Reported by:	emaste
  Sponsored by:	The FreeBSD Foundation

Added:
  head/biology/recombine/files/patch-recombine.c   (contents, props changed)
Modified:
  head/biology/recombine/Makefile

Modified: head/biology/recombine/Makefile
==============================================================================
--- head/biology/recombine/Makefile	Sun Sep  1 16:21:26 2019	(r510706)
+++ head/biology/recombine/Makefile	Sun Sep  1 16:40:06 2019	(r510707)
@@ -3,6 +3,7 @@
 
 PORTNAME=	recombine
 PORTVERSION=	1.41
+PORTREVISION=	1
 CATEGORIES=	biology
 MASTER_SITES=	http://evolution.gs.washington.edu/lamarc/recombine/
 DISTNAME=	${PORTNAME}${PORTVERSION}.src.doc

Added: head/biology/recombine/files/patch-recombine.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/biology/recombine/files/patch-recombine.c	Sun Sep  1 16:40:06 2019	(r510707)
@@ -0,0 +1,168 @@
+--- recombine.c.orig	2019-08-03 09:14:33 UTC
++++ recombine.c
+@@ -169,7 +169,7 @@ void openfile(FILE **fp, char *filename,
+         file[0] = '\0';
+         while (file[0] =='\0'){
+           fprintf(stdout,"Please enter a new filename>");
+-          gets(file);
++          fgets(file,100,stdin);
+           }
+         break;
+       case 'w':
+@@ -177,7 +177,7 @@ void openfile(FILE **fp, char *filename,
+         file[0] = '\0';
+         while (file[0] =='\0'){
+           fprintf(stdout,"Please enter a new filename>");
+-          gets(file);
++          fgets(file,100,stdin);
+           }
+         break;
+       }
+@@ -1864,28 +1864,28 @@ if (strchr("#FLAHONESPGUMVRTD",ch) != NU
+       case 'R':
+          do {
+             printf("Relative mutation rate of trait?\n");
+-            gets(input);
++            fgets(input,LINESIZE,stdin);
+             op->mutrait = atof(input);
+          } while (op->mutrait <= 0.0);
+          break;
+       case 'T':
+          do {
+             printf("Ratio of forward to back trait mutation?\n");
+-            gets(input);
++            fgets(input,LINESIZE,stdin);
+             op->traitratio = atof(input);
+          } while (op->traitratio <= 0.0);
+          break;
+       case 'D':
+          do {
+             printf("Frequency of trait?\n");
+-            gets(input);
++            fgets(input,LINESIZE,stdin);
+             op->pd = atof(input);
+          } while (op->pd <= 0.0 || op->pd >= 1.0);
+          break;
+       case 'A':
+          do {
+             printf("Number of drops while resimulating (0-2)?\n");
+-            gets(input);
++            fgets(input,LINESIZE,stdin);
+             op->hapdrop = atol(input);
+          } while (op->hapdrop != 0 && op->hapdrop != 1 && op->hapdrop != 2); 
+       default:
+@@ -1972,7 +1972,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
+       case 'T':
+          do {
+             printf("Transition/transversion ratio?\n");
+-            gets(input);
++            fgets(input,LINESIZE,stdin);
+             locus_ttratio = atof(input);
+             if (locus_ttratio < 0.5)
+                printf("TTratio cannot be less than 0.5\n");
+@@ -1991,13 +1991,13 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
+          op->panel = !op->panel;
+          if (op->panel) {
+             printf("Number of populations?\n");
+-            gets(input);
++            ;
+             *numpop = atol(input);
+             op->numpanel = (long *)calloc(*numpop,sizeof(long));
+             for(i = 0; i < *numpop; i++) {
+                printf("Number of panel haplotypes for population");
+                printf(" %ld?\n",i+1);
+-               gets(input);
++               fgets(input,LINESIZE,stdin);
+                op->numpanel[i] = atol(input);
+             }
+          } else
+@@ -2012,7 +2012,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
+          if (op->ctgry) {
+             do {
+                printf("Number of categories ?");
+-               gets(input);
++               fgets(input,LINESIZE,stdin);
+                op->categs = atoi(input);
+             } while (op->categs < 1);
+             free(op->rate);
+@@ -2091,7 +2091,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
+          if (!op->watt) {
+             do {
+                printf("Initial theta estimate?\n");
+-               gets(input);
++               fgets(input,LINESIZE,stdin);
+                theta0 = atof(input);
+             } while (theta0 <= 0.0);
+          }
+@@ -2099,7 +2099,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
+       case 'Z':
+          printf("What recombination rate?\n");
+          do {
+-            gets(input);
++            fgets(input,LINESIZE,stdin);
+             rec0 = atof(input);
+             if (rec0 < 0.0)
+                printf("recombination rate must be non-negative\n");
+@@ -2108,7 +2108,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
+       case 'S':
+          do {
+             printf("How many Short Chains?\n");
+-            gets(input);
++            fgets(input,LINESIZE,stdin);
+             op->numchains[0] = atoi(input);
+             if (op->numchains[0] < 0)
+             printf("Must be non-negative\n");
+@@ -2118,7 +2118,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
+          done = FALSE;
+          while (!done) {
+             printf("How often to sample trees?\n");
+-            gets(input);
++            fgets(input,LINESIZE,stdin);
+             op->increm[0] = atoi(input);
+             if (op->increm[0] > 0) done = TRUE;
+             else printf("Must be a positive integer\n");
+@@ -2128,7 +2128,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
+          done = FALSE;
+          while (!done) {
+             printf("How many short steps?\n");
+-            gets(input);
++            fgets(input,LINESIZE,stdin);
+             op->steps[0] = atoi(input);
+             if (op->steps[0] > 0) done = TRUE;
+             else printf("Must be a positive integer\n");
+@@ -2137,7 +2137,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
+       case 'L':
+          do {
+             printf("How many Long Chains?\n");
+-            gets(input);
++            fgets(input,LINESIZE,stdin);
+             op->numchains[1] = atoi(input);
+             if (op->numchains[1] < 1)
+             printf("Must be a positive integer\n");
+@@ -2147,7 +2147,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
+          done = FALSE;
+          while (!done) {
+             printf("How often to sample trees?\n");
+-            gets(input);
++            fgets(input,LINESIZE,stdin);
+             op->increm[1] = atoi(input);
+             if (op->increm[1] > 0) done = TRUE;
+             else printf("Must be a positive integer\n");
+@@ -2157,7 +2157,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
+          done = FALSE;
+          while (!done) {
+             printf("How many long steps?\n");
+-            gets(input);
++            fgets(input,LINESIZE,stdin);
+             op->steps[1] = atoi(input);
+             if (op->steps[1] > 0) done = TRUE;
+             else printf("Must be a positive integer\n");
+@@ -2239,7 +2239,7 @@ do {
+    if (menu1) print_startmenu(op,writeout);
+    else {print_datamenu(op); print_searchmenu(op);}
+    print_menuend();
+-   gets(input);
++   fgets(input,LINESIZE,stdin);
+    ch = toupper((int)input[0]);
+    done = (ch == 'Y');
+    if (!done) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201909011640.x81Ge6Dp010246>