Skip to content

Commit 316cc14

Browse files
committed
Merge pull request #31 from tseemann/max_filename_std
Use stdio FILENAME_MAX for path char[] sizes
2 parents e73bca6 + 9e692d1 commit 316cc14

File tree

9 files changed

+27
-22
lines changed

9 files changed

+27
-22
lines changed

src/fasta-of-snp-sites.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ void create_fasta_of_snp_sites(char filename[], int number_of_snps, char ** base
3131
int snp_counter;
3232
char * base_filename;
3333

34-
base_filename = (char *) calloc(MAX_FILENAME_SIZE,sizeof(char));
35-
memcpy(base_filename, filename, MAX_FILENAME_SIZE*sizeof(char));
34+
base_filename = (char *) calloc(FILENAME_MAX,sizeof(char));
35+
memcpy(base_filename, filename, FILENAME_MAX*sizeof(char));
3636
fasta_file_pointer = fopen(base_filename, "w");
3737

3838
for(sample_counter=0; sample_counter< number_of_samples; sample_counter++)

src/fasta-of-snp-sites.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
#ifndef _FASTA_OF_SNP_SITES_
2222
#define _FASTA_OF_SNP_SITES_
2323

24+
#include <stdio.h>
25+
2426
void create_fasta_of_snp_sites(char filename[], int number_of_snps, char ** bases_for_snps, char ** sequence_names, int number_of_samples);
25-
#define MAX_FILENAME_SIZE 250
27+
2628
#endif

src/main.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@
2626
#include "snp-sites.h"
2727
#include "string-cat.h"
2828

29-
#define MAX_FILENAME_SIZE 250
30-
3129
static void print_usage()
3230
{
3331
printf("Usage: snp_sites [-mvph] [-o output_filename] <file>\n");
@@ -41,8 +39,8 @@ static void print_usage()
4139
}
4240

4341
int main (int argc, char **argv) {
44-
char multi_fasta_filename[MAX_FILENAME_SIZE] = {""};
45-
char output_filename[MAX_FILENAME_SIZE] = {""};
42+
char multi_fasta_filename[FILENAME_MAX] = {""};
43+
char output_filename[FILENAME_MAX] = {""};
4644

4745
int c;
4846
int index;

src/phylib-of-snp-sites.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ void create_phylib_of_snp_sites(char filename[], int number_of_snps, char ** bas
3232
int snp_counter;
3333
char * base_filename;
3434

35-
base_filename = (char *) calloc(MAX_FILENAME_SIZE,sizeof(char));
36-
memcpy(base_filename, filename, MAX_FILENAME_SIZE*sizeof(char));
35+
base_filename = (char *) calloc(FILENAME_MAX,sizeof(char));
36+
memcpy(base_filename, filename, FILENAME_MAX*sizeof(char));
3737
fasta_file_pointer = fopen(base_filename, "w");
3838

3939
fprintf( fasta_file_pointer, "%d %d\n", number_of_samples, number_of_snps);

src/phylib-of-snp-sites.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
#ifndef _PHYLIB_OF_SNP_SITES_
2323
#define _PHYLIB_OF_SNP_SITES_
2424

25+
#include <stdio.h>
26+
2527
void create_phylib_of_snp_sites(char filename[], int number_of_snps, char ** bases_for_snps, char ** sequence_names, int number_of_samples);
26-
#define MAX_FILENAME_SIZE 250
28+
2729
#endif

src/snp-sites.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ int generate_snp_sites(char filename[],int output_multi_fasta_file, int output_v
8787

8888
get_bases_for_each_snp(filename, snp_locations, bases_for_snps, length_of_genome, number_of_snps);
8989

90-
char output_filename_base[MAX_FILENAME_SIZE];
91-
char filename_without_directory[MAX_FILENAME_SIZE];
90+
char output_filename_base[FILENAME_MAX];
91+
char filename_without_directory[FILENAME_MAX];
9292
strip_directory_from_filename(filename, filename_without_directory);
9393
memcpy(output_filename_base,filename_without_directory, size_of_string(filename_without_directory)+1 );
9494

@@ -100,8 +100,8 @@ int generate_snp_sites(char filename[],int output_multi_fasta_file, int output_v
100100
if(output_vcf_file)
101101
{
102102
char * vcf_output_filename;
103-
vcf_output_filename = calloc(MAX_FILENAME_SIZE,sizeof(char));
104-
memcpy(vcf_output_filename, output_filename_base, (MAX_FILENAME_SIZE)*sizeof(char));
103+
vcf_output_filename = calloc(FILENAME_MAX,sizeof(char));
104+
memcpy(vcf_output_filename, output_filename_base, (FILENAME_MAX)*sizeof(char));
105105
if((output_vcf_file + output_phylip_file + output_multi_fasta_file) > 1 || (output_filename == NULL || *output_filename == '\0') )
106106
{
107107
char extension[5] = {".vcf"};
@@ -115,8 +115,8 @@ int generate_snp_sites(char filename[],int output_multi_fasta_file, int output_v
115115
if(output_phylip_file)
116116
{
117117
char *phylip_output_filename;
118-
phylip_output_filename = calloc(MAX_FILENAME_SIZE,sizeof(char));
119-
memcpy(phylip_output_filename, output_filename_base, (MAX_FILENAME_SIZE)*sizeof(char));
118+
phylip_output_filename = calloc(FILENAME_MAX,sizeof(char));
119+
memcpy(phylip_output_filename, output_filename_base, (FILENAME_MAX)*sizeof(char));
120120
if((output_vcf_file + output_phylip_file + output_multi_fasta_file) > 1 || (output_filename == NULL || *output_filename == '\0') )
121121
{
122122
char extension[10] = {".phylip"};
@@ -129,8 +129,8 @@ int generate_snp_sites(char filename[],int output_multi_fasta_file, int output_v
129129
if((output_multi_fasta_file) || (output_vcf_file ==0 && output_phylip_file == 0 && output_multi_fasta_file == 0))
130130
{
131131
char *multi_fasta_output_filename;
132-
multi_fasta_output_filename = calloc(MAX_FILENAME_SIZE,sizeof(char));
133-
memcpy(multi_fasta_output_filename, output_filename_base, (MAX_FILENAME_SIZE)*sizeof(char));
132+
multi_fasta_output_filename = calloc(FILENAME_MAX,sizeof(char));
133+
memcpy(multi_fasta_output_filename, output_filename_base, (FILENAME_MAX)*sizeof(char));
134134
if((output_vcf_file + output_phylip_file + output_multi_fasta_file) > 1 || (output_filename == NULL || *output_filename == '\0') )
135135
{
136136
char extension[20] = {".snp_sites.aln"};
@@ -161,7 +161,7 @@ void strip_directory_from_filename(char * input_filename, char * output_filename
161161
int i;
162162
int end_index = 0;
163163
int last_forward_slash_index = -1;
164-
for(i = 0; i< MAX_FILENAME_SIZE; i++)
164+
for(i = 0; i< FILENAME_MAX; i++)
165165
{
166166
if(input_filename[i] == '/')
167167
{

src/snp-sites.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,14 @@
2121
#ifndef _SNP_SITES_H_
2222
#define _SNP_SITES_H_
2323

24+
#include <stdio.h>
25+
2426
void build_snp_locations(int snp_locations[], char reference_sequence[]);
2527
int generate_snp_sites(char filename[],int output_multi_fasta_file, int output_vcf_file, int output_phylip_file, char output_filename[]);
2628
int refilter_existing_snps(char * reference_bases, int number_of_snps, char ** column_names, int number_of_columns,int * snp_locations, int * filtered_snp_locations);
2729
void remove_filtered_snp_locations(int * filtered_snp_locations, int * snp_locations, int number_of_snps);
2830
void strip_directory_from_filename(char * input_filename, char * output_filename);
2931

30-
#define MAX_FILENAME_SIZE 250
3132
#define MAX_SAMPLE_NAME_SIZE 1024
3233

3334
#endif

src/vcf.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ void create_vcf_file(char filename[], int snp_locations[],int number_of_snps, ch
3232
{
3333
FILE *vcf_file_pointer;
3434
char * base_filename;
35-
base_filename = (char *) malloc(MAX_FILENAME_SIZE*sizeof(char));
35+
base_filename = (char *) malloc(FILENAME_MAX*sizeof(char));
3636
strcpy(base_filename, filename);
3737

3838
vcf_file_pointer=fopen(base_filename, "w");

src/vcf.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
#ifndef _VCF_H_
2222
#define _VCF_H_
2323

24+
#include <stdio.h>
25+
2426
void output_vcf_header( FILE * vcf_file_pointer, char ** sequence_names, int number_of_samples, size_t length_of_genome);
2527
void create_vcf_file(char filename[], int snp_locations[], int number_of_snps, char ** bases_for_snps, char ** sequence_names, int number_of_samples, size_t length_of_genome);
2628
void output_vcf_snps(FILE * vcf_file_pointer, char ** bases_for_snps, int * snp_locations, int number_of_snps, int number_of_samples);
@@ -30,7 +32,7 @@ char * alternative_bases(char reference_base, char * bases_for_snp, int number_o
3032
char * format_alternative_bases(char *);
3133
char * format_allele_index(char, char, char *);
3234
int check_if_char_in_string(char search_string[], char target_char, int search_string_length);
33-
#define MAX_FILENAME_SIZE 250
35+
3436
#define MAXIMUM_NUMBER_OF_ALT_BASES 30
3537

3638
#endif

0 commit comments

Comments
 (0)