Skip to content

Commit

Permalink
Updates for gcc8 (freesurfer#834)
Browse files Browse the repository at this point in the history
  • Loading branch information
freesurfer-rge authored Nov 25, 2020
1 parent 6e7120f commit 6d8f336
Show file tree
Hide file tree
Showing 24 changed files with 700 additions and 237 deletions.
1 change: 1 addition & 0 deletions fem_elastic/morph.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ void DenseDisplacementField::doInput(std::istream& is)
start[ui] = TRead<int>(ss);
region.SetIndex(start);
}
break;
case tagSpacing:
{
double spacing[3];
Expand Down
9 changes: 7 additions & 2 deletions mri_annotation2label/mri_annotation2label.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -292,8 +292,13 @@ int main(int argc, char **argv)
if (labelbase != NULL) {
sprintf(labelfile,"%s-%03d.label",labelbase,ani);
}
if (outdir != NULL) sprintf(labelfile,"%s/%s.%s.label",outdir,hemi,
Surf->ct->entries[ani]->name);
if (outdir != NULL) {
int req = snprintf(labelfile,1000,"%s/%s.%s.label",outdir,hemi,
Surf->ct->entries[ani]->name);
if( req >= 1000 ) {
std::cerr << __FUNCTION__ << ": Truncation on line " << __LINE__ << std::endl;
}
}

printf("%3d %5d %s\n",ani,nperannot[ani],labelfile);
label = annotation2label(ani, Surf);
Expand Down
10 changes: 8 additions & 2 deletions mri_aparc2aseg/mri_aparc2aseg.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1025,7 +1025,10 @@ int main(int argc, char **argv)
{
char fname[STRLEN], fonly[STRLEN] ;
FileNameRemoveExtension(OutASegFile, fonly) ;
sprintf(fname, "%s.%3.3d.mgz", fonly, i) ;
int req = snprintf(fname, STRLEN, "%s.%3.3d.mgz", fonly, i) ;
if( req >= STRLEN ) {
std::cerr << __FUNCTION__ << ": Truncation on line " << __LINE__ << std::endl;
}
printf("writing iter %d to %s\n", i, fname) ;
MRIwrite(ASeg, fname) ;
}
Expand Down Expand Up @@ -1119,7 +1122,10 @@ int main(int argc, char **argv)
{
char fname[STRLEN], fonly[STRLEN] ;
FileNameRemoveExtension(OutASegFile, fonly) ;
sprintf(fname, "%s.%3.3d.mgz", fonly, i) ;
int req = snprintf(fname, STRLEN, "%s.%3.3d.mgz", fonly, i) ;
if( req >= STRLEN ) {
std::cerr << __FUNCTION__ << ": Truncation on line " << __LINE__ << std::endl;
}
printf("writing iter %d to %s\n", i, fname) ;
MRIwrite(ASeg, fname) ;
}
Expand Down
12 changes: 12 additions & 0 deletions mri_ca_label/mri_ca_label.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2577,6 +2577,9 @@ edit_hippocampus( MRI *mri_inputs, MRI *mri_labeled,
{
case Left_Cerebral_Cortex:
left = 1 ;
#if __GNUC__ >= 8
[[gnu::fallthrough]];
#endif
case Right_Cerebral_Cortex:
/*
if the current label is gray,
Expand Down Expand Up @@ -2637,6 +2640,9 @@ edit_hippocampus( MRI *mri_inputs, MRI *mri_labeled,
{
case Left_Hippocampus:
left = 1 ;
#if __GNUC__ >= 8
[[gnu::fallthrough]];
#endif
case Right_Hippocampus:
#define MIN_UNKNOWN 5
for (i = 1 ; i <= MIN_UNKNOWN+3 ; i++)
Expand Down Expand Up @@ -2711,6 +2717,9 @@ edit_hippocampus( MRI *mri_inputs, MRI *mri_labeled,
{
case Left_Hippocampus:
left = 1 ;
#if __GNUC__ >= 8
[[gnu::fallthrough]];
#endif
case Right_Hippocampus:
for (i = 1 ; i <= 10 ; i++)
{
Expand Down Expand Up @@ -2997,6 +3006,9 @@ edit_amygdala( MRI *mri_inputs,
{
case Left_Amygdala:
left = 1 ;
#if __GNUC__ >= 8
[[gnu::fallthrough]];
#endif
case Right_Amygdala:
for (i = 1 ; i <= 10 ; i++)
{
Expand Down
118 changes: 88 additions & 30 deletions mri_ca_train/mri_ca_train.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,10 @@ main(int argc, char *argv[])
continue ;
}
// reading this subject segmentation
sprintf(fname, "%s/%s/mri/%s", subjects_dir, subject_name, seg_dir) ;
int req = snprintf(fname, STRLEN, "%s/%s/mri/%s", subjects_dir, subject_name, seg_dir) ;
if( req >= STRLEN ) {
std::cerr << __FUNCTION__ << ": Truncation on line " << __LINE__ << std::endl;
}
if (Gdiag & DIAG_SHOW && DIAG_VERBOSE_ON)
fprintf(stderr, "Reading segmentation from %s...\n", fname) ;
mri_seg = MRIread(fname) ;
Expand All @@ -290,8 +293,11 @@ main(int argc, char *argv[])
if (wmsa_fname)
{
MRI *mri_wmsa ;
sprintf(fname, "%s/%s/mri/%s",
subjects_dir, subject_name, wmsa_fname) ;
int req = snprintf(fname, STRLEN, "%s/%s/mri/%s",
subjects_dir, subject_name, wmsa_fname) ;
if( req >= STRLEN ) {
std::cerr << __FUNCTION__ << ": Truncation on line " << __LINE__ << std::endl;
}
printf("reading WMSA labels from %s...\n", fname) ;
mri_wmsa = MRIread(fname) ;
if (mri_wmsa == NULL)
Expand All @@ -302,8 +308,11 @@ main(int argc, char *argv[])
if (Gdiag & DIAG_WRITE && DIAG_VERBOSE_ON )
{
char s[STRLEN] ;
sprintf(s, "%s/%s/mri/seg_%s",
subjects_dir, subject_name, wmsa_fname) ;
int req = snprintf(s, STRLEN, "%s/%s/mri/seg_%s",
subjects_dir, subject_name, wmsa_fname) ;
if( req >= STRLEN ) {
std::cerr << __FUNCTION__ << ": Truncation on line " << __LINE__ << std::endl;
}
MRIwrite(mri_seg, s) ;
}
}
Expand All @@ -322,8 +331,11 @@ main(int argc, char *argv[])
{
MRI *mri_insert ;

sprintf(fname, "%s/%s/mri/%s",
subjects_dir, subject_name, insert_fname) ;
int req = snprintf(fname, STRLEN, "%s/%s/mri/%s",
subjects_dir, subject_name, insert_fname) ;
if( req >= STRLEN ) {
std::cerr << __FUNCTION__ << ": Truncation on line " << __LINE__ << std::endl;
}
mri_insert = MRIread(fname) ;
if (mri_insert == NULL)
ErrorExit(ERROR_NOFILE,
Expand All @@ -343,13 +355,17 @@ main(int argc, char *argv[])
reorder it to be in the same order as 1st */
{
// initialize the flag array
for (input =0; input < ninputs; input++)
for (input =0; input < ninputs; input++) {
used[input] = 0;
}

for (input = 0 ; input < ninputs ; input++)
{
sprintf(fname, "%s/%s/mri/%s",
subjects_dir, subject_name, input_names[input]);
int req = snprintf(fname, STRLEN, "%s/%s/mri/%s",
subjects_dir, subject_name, input_names[input]);
if( req >= STRLEN ) {
std::cerr << __FUNCTION__ << ": Truncation on line " << __LINE__ << std::endl;
}
mri_tmp = MRIreadInfo(fname) ;
if (!mri_tmp)
ErrorExit(ERROR_NOFILE,
Expand Down Expand Up @@ -435,8 +451,11 @@ main(int argc, char *argv[])
// thus we cannot allow flash data training.
////////////////////////////////////////////////////////////

sprintf(fname, "%s/%s/mri/%s",
subjects_dir, subject_name,input_names[ordering[input]]);
int req = snprintf(fname, STRLEN, "%s/%s/mri/%s",
subjects_dir, subject_name,input_names[ordering[input]]);
if( req >= STRLEN ) {
std::cerr << __FUNCTION__ << ": Truncation on line " << __LINE__ << std::endl;
}
if (DIAG_VERBOSE_ON)
printf("reading co-registered input from %s...\n", fname) ;
fprintf(stderr, " reading input %d: %s\n", input, fname);
Expand Down Expand Up @@ -509,8 +528,12 @@ main(int argc, char *argv[])
{
MRI *mri_mask ;

sprintf(fname, "%s/%s/mri/%s",
subjects_dir, subject_name, mask_fname);
int req = snprintf(fname, STRLEN, "%s/%s/mri/%s",
subjects_dir, subject_name, mask_fname);
if( req >= STRLEN ) {
std::cerr << __FUNCTION__ << ": Truncation on line " << __LINE__ << std::endl;
}

printf("reading volume %s for masking...\n", fname) ;
mri_mask = MRIread(fname) ;
if (!mri_mask)
Expand Down Expand Up @@ -543,8 +566,11 @@ main(int argc, char *argv[])
if (xform_name)
{
// we read talairach.xfm which is a RAS-to-RAS
sprintf(fname, "%s/%s/mri/transforms/%s",
subjects_dir, subject_name, xform_name) ;
int req = snprintf(fname, STRLEN, "%s/%s/mri/transforms/%s",
subjects_dir, subject_name, xform_name) ;
if( req >= STRLEN ) {
std::cerr << __FUNCTION__ << ": Truncation on line " << __LINE__ << std::endl;
}
if (Gdiag & DIAG_SHOW && DIAG_VERBOSE_ON)
printf("INFO: reading transform file %s...\n", fname);
if (!FileExists(fname))
Expand Down Expand Up @@ -718,7 +744,10 @@ main(int argc, char *argv[])
printf("computing covariances for subject %s, %d of %d...\n",
subject_name,i+1-nargs,
nsubjects);
sprintf(fname, "%s/%s/mri/%s", subjects_dir, subject_name, seg_dir) ;
int req = snprintf(fname, STRLEN, "%s/%s/mri/%s", subjects_dir, subject_name, seg_dir) ;
if( req >= STRLEN ) {
std::cerr << __FUNCTION__ << ": Truncation on line " << __LINE__ << std::endl;
}
if (DIAG_VERBOSE_ON)
printf("reading segmentation from %s...\n", fname) ;
// seg volume
Expand All @@ -730,8 +759,11 @@ main(int argc, char *argv[])
if (wmsa_fname)
{
MRI *mri_wmsa ;
sprintf(fname, "%s/%s/mri/%s",
subjects_dir, subject_name, wmsa_fname) ;
int req = snprintf(fname, STRLEN, "%s/%s/mri/%s",
subjects_dir, subject_name, wmsa_fname) ;
if( req >= STRLEN ) {
std::cerr << __FUNCTION__ << ": Truncation on line " << __LINE__ << std::endl;
}
printf("reading WMSA labels from %s...\n", fname) ;
mri_wmsa = MRIread(fname) ;
if (mri_wmsa == NULL)
Expand All @@ -742,17 +774,23 @@ main(int argc, char *argv[])
if (Gdiag & DIAG_WRITE && DIAG_VERBOSE_ON )
{
char s[STRLEN] ;
sprintf(s, "%s/%s/mri/seg_%s",
subjects_dir, subject_name, wmsa_fname) ;
int req = snprintf(s, STRLEN, "%s/%s/mri/seg_%s",
subjects_dir, subject_name, wmsa_fname) ;
if( req >= STRLEN ) {
std::cerr << __FUNCTION__ << ": Truncation on line " << __LINE__ << std::endl;
}
MRIwrite(mri_seg, s) ;
}
}
if (insert_fname)
{
MRI *mri_insert ;

sprintf(fname, "%s/%s/mri/%s",
subjects_dir, subject_name, insert_fname) ;
int req = snprintf(fname, STRLEN, "%s/%s/mri/%s",
subjects_dir, subject_name, insert_fname) ;
if( req >= STRLEN ) {
std::cerr << __FUNCTION__ << ": Truncation on line " << __LINE__ << std::endl;
}
mri_insert = MRIread(fname) ;
if (mri_insert == NULL)
ErrorExit
Expand All @@ -773,8 +811,11 @@ main(int argc, char *argv[])
// inputs are T1, PD, .... per subject
for (input = 0 ; input < ninputs ; input++)
{
sprintf(fname, "%s/%s/mri/%s",
subjects_dir, subject_name,input_names[ordering[input]]);
int req = snprintf(fname, STRLEN, "%s/%s/mri/%s",
subjects_dir, subject_name,input_names[ordering[input]]);
if( req >= STRLEN ) {
std::cerr << __FUNCTION__ << ": Truncation on line " << __LINE__ << std::endl;
}
if (DIAG_VERBOSE_ON)
printf("reading co-registered input from %s...\n", fname) ;
mri_tmp = MRIread(fname) ;
Expand Down Expand Up @@ -825,8 +866,11 @@ main(int argc, char *argv[])
{
MRI *mri_mask ;

sprintf(fname, "%s/%s/mri/%s",
subjects_dir, subject_name, mask_fname);
int req = snprintf(fname, STRLEN, "%s/%s/mri/%s",
subjects_dir, subject_name, mask_fname);
if( req >= STRLEN ) {
std::cerr << __FUNCTION__ << ": Truncation on line " << __LINE__ << std::endl;
}
printf("reading volume %s for masking...\n", fname) ;
mri_mask = MRIread(fname) ;
if (!mri_mask)
Expand All @@ -848,8 +892,11 @@ main(int argc, char *argv[])
///////////////////////////////////////////////////////////
if (xform_name)
{
sprintf(fname, "%s/%s/mri/transforms/%s",
subjects_dir, subject_name, xform_name) ;
int req = snprintf(fname, STRLEN, "%s/%s/mri/transforms/%s",
subjects_dir, subject_name, xform_name) ;
if( req >= STRLEN ) {
std::cerr << __FUNCTION__ << ": Truncation on line " << __LINE__ << std::endl;
}
if (Gdiag & DIAG_SHOW && DIAG_VERBOSE_ON)
printf("reading transform from %s...\n", fname) ;
transform = TransformRead(fname) ;
Expand Down Expand Up @@ -1661,6 +1708,10 @@ static int check(MRI *mri_seg, char *subjects_dir, char *subject_name)
errors++;
}
// no break (check xt)
#if __GNUC__ >= 8
[[gnu::fallthrough]];
#endif


case Left_Caudate:
case Left_Amygdala:
Expand Down Expand Up @@ -1697,6 +1748,10 @@ static int check(MRI *mri_seg, char *subjects_dir, char *subject_name)
errors++;
}
// no break (check xt)
#if __GNUC__ >= 8
[[gnu::fallthrough]];
#endif


case Right_Caudate:
case Right_Amygdala:
Expand Down Expand Up @@ -1796,7 +1851,10 @@ static int check(MRI *mri_seg, char *subjects_dir, char *subject_name)
if ( do_fix_badsubjs && errors)
{
char fname[STRLEN];
sprintf(fname, "%s/%s/mri/seg_fixed.mgz", subjects_dir, subject_name);
int req = snprintf(fname, STRLEN, "%s/%s/mri/seg_fixed.mgz", subjects_dir, subject_name);
if( req >= STRLEN ) {
std::cerr << __FUNCTION__ << ": Truncation on line " << __LINE__ << std::endl;
}
printf("Writing corrected volume to %s\n",fname);
MRIwrite(mri_fixed,fname);
MRIfree(&mri_fixed);
Expand Down
Loading

0 comments on commit 6d8f336

Please sign in to comment.