aboutsummaryrefslogtreecommitdiff
path: root/biology
diff options
context:
space:
mode:
authorLi-Wen Hsu <lwhsu@FreeBSD.org>2019-09-01 16:40:06 +0000
committerLi-Wen Hsu <lwhsu@FreeBSD.org>2019-09-01 16:40:06 +0000
commit5bf9108d86916024eefeb9f17587faaac9fb1362 (patch)
tree47b6f8adedfbe91bc812ff2107bd1845c4cda2bb /biology
parent351c1274088067364f123fd421b4f95e96ed5179 (diff)
downloadports-5bf9108d86916024eefeb9f17587faaac9fb1362.tar.gz
ports-5bf9108d86916024eefeb9f17587faaac9fb1362.zip
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
Notes
Notes: svn path=/head/; revision=510707
Diffstat (limited to 'biology')
-rw-r--r--biology/recombine/Makefile1
-rw-r--r--biology/recombine/files/patch-recombine.c168
2 files changed, 169 insertions, 0 deletions
diff --git a/biology/recombine/Makefile b/biology/recombine/Makefile
index 0cb9d919acf6..2f3bb0a0bd80 100644
--- a/biology/recombine/Makefile
+++ b/biology/recombine/Makefile
@@ -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
diff --git a/biology/recombine/files/patch-recombine.c b/biology/recombine/files/patch-recombine.c
new file mode 100644
index 000000000000..bfaa37f653ca
--- /dev/null
+++ b/biology/recombine/files/patch-recombine.c
@@ -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) {