From b9c396063b06b14c04acf7d6c79d571f285122ad Mon Sep 17 00:00:00 2001 From: Carsten Kutzner Date: Mon, 31 Oct 2011 11:52:33 +0100 Subject: [PATCH] Fixed bug #830 (segv in do_dssp) Change-Id: Ibaa2cf25586d879fce62e9086fee1b510e034e40 --- src/tools/do_dssp.c | 24 +++++++++++++++++++++--- src/tools/gmx_wheel.c | 2 +- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/tools/do_dssp.c b/src/tools/do_dssp.c index 1a1b07f945..561dc2fe05 100644 --- a/src/tools/do_dssp.c +++ b/src/tools/do_dssp.c @@ -55,8 +55,6 @@ #include "tpxio.h" #include "viewit.h" -/* defined in gmx_wheel.c*/ -extern gmx_bool *bPhobics(int ,char *); static int strip_dssp(char *dsspfile,int nres, gmx_bool bPhobres[],real t, @@ -171,6 +169,26 @@ static int strip_dssp(char *dsspfile,int nres, return nr; } +static gmx_bool *bPhobics(t_atoms *atoms) +{ + int i,nb; + char **cb; + gmx_bool *bb; + + + nb = get_strings("phbres.dat",&cb); + snew(bb,atoms->nres); + + for (i=0; (inres); i++) + { + if ( -1 != search_str(nb,cb,*atoms->resinfo[i].name) ) + { + bb[i]=TRUE; + } + } + return bb; +} + static void check_oo(t_atoms *atoms) { char *OOO; @@ -462,7 +480,7 @@ int main(int argc,char *argv[]) read_tps_conf(ftp2fn(efTPS,NFILE,fnm),title,&top,&ePBC,&xp,NULL,box,FALSE); atoms=&(top.atoms); check_oo(atoms); - bPhbres=bPhobics((int)atoms->nres,(char *)atoms->resinfo); + bPhbres = bPhobics(atoms); get_index(atoms,ftp2fn_null(efNDX,NFILE,fnm),1,&gnx,&index,&grpnm); nres=0; diff --git a/src/tools/gmx_wheel.c b/src/tools/gmx_wheel.c index 2a3dbd1baa..513cc093aa 100644 --- a/src/tools/gmx_wheel.c +++ b/src/tools/gmx_wheel.c @@ -60,7 +60,7 @@ #include "strdb.h" #include "gmx_ana.h" -gmx_bool *bPhobics(int nres,char *resnm[]) +static gmx_bool *bPhobics(int nres,char *resnm[]) { int i,nb; char **cb; -- 2.22.0