From 292c5fb43f5402bcbd2c26607543f5bfc815e8e5 Mon Sep 17 00:00:00 2001 From: "Douglas B. Rumbaugh" Date: Fri, 19 Sep 2025 16:54:04 -0400 Subject: Portability and Bugfixes --- src/cdf.c | 15 +++++++-------- src/cumsum.c | 12 +++++------- 2 files changed, 12 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/cdf.c b/src/cdf.c index 2b26e27..385ff21 100644 --- a/src/cdf.c +++ b/src/cdf.c @@ -73,11 +73,11 @@ static DistRecord *expand_array(DistRecord *records, size_t *capacity) { static int parse_line(DistRecord *record, char *line) { if (ARG_FP_INPUT) { - return sscanf(line, "%lld %lf", &record->count, &record->data.d); + return sscanf(line, "%" SCNu64 " %lf", &record->count, &record->data.d); } else if (ARG_UINT_INPUT) { - return sscanf(line, "%lld %llu", &record->count, &record->data.u); + return sscanf(line, "%" SCNu64 " %" SCNu64, &record->count, &record->data.u); } else { - return sscanf(line, "%lld %lld", &record->count, &record->data.i); + return sscanf(line, "%" SCNu64 " %" SCNd64, &record->count, &record->data.i); } } @@ -107,9 +107,9 @@ static void print_record(long double freq, DistRecord *record) { if (ARG_FP_INPUT) { fprintf(stdout, "%.15Lf\t%lf\n", freq, record->data.d); } else if (ARG_UINT_INPUT) { - fprintf(stdout, "%.15Lf\t%llu\n", freq, record->data.u); + fprintf(stdout, "%.15Lf\t%" PRIu64 "\n", freq, record->data.u); } else { - fprintf(stdout, "%.15Lf\t%lld\n", freq, record->data.i); + fprintf(stdout, "%.15Lf\t%" PRId64 "\n", freq, record->data.i); } } @@ -150,7 +150,7 @@ static int process_data(FILE *file) { /* calculate total sum of counts */ uint64_t total_count = 0; - for (size_t i = 0; i < cnt; i++) { + for (size_t i = 0; i < (size_t)cnt; i++) { total_count += records[i].count; } @@ -161,7 +161,7 @@ static int process_data(FILE *file) { goto free_freqs; } - for (size_t i = 0; i < cnt; i++) { + for (size_t i = 0; i < (size_t)cnt; i++) { freqs[i] = (long double)(records[i].count) / (long double)(total_count); } @@ -209,7 +209,6 @@ int main(int argc, char **argv) { rc = EXIT_FAILURE; } -close_file: if (input_file != stdin) { fclose(input_file); } diff --git a/src/cumsum.c b/src/cumsum.c index 99c7651..ff8ab73 100644 --- a/src/cumsum.c +++ b/src/cumsum.c @@ -44,7 +44,7 @@ static int parse_options(int argc, char *const *argv) { case 'w': ARG_WINDOW_SIZE = atol(optarg); if (ARG_WINDOW_SIZE <= 0) { - fprintf(stderr, "Error: invalid window size: %lld. Must be > 0.\n", + fprintf(stderr, "Error: invalid window size: %" PRId64 ". Must be > 0.\n", ARG_WINDOW_SIZE); error = true; break; @@ -95,9 +95,9 @@ void print_sum(Number sum) { if (ARG_FP_INPUT) { fprintf(stdout, "%lf\n", sum.d); } else if (ARG_UINT_INPUT) { - fprintf(stdout, "%lld\n", sum.u); + fprintf(stdout, "%" PRIu64 "\n", sum.u); } else { - fprintf(stdout, "%lld\n", sum.i); + fprintf(stdout, "%" PRId64 "\n", sum.i); } } @@ -108,7 +108,7 @@ static int get_next_number(FILE *file, Number *num) { int rc = fscanf(file, "%511s", buffer); if (rc == EOF) { return 0; - } else if (rc != -1) { + } else if (rc != 1) { return -1; } @@ -152,7 +152,7 @@ void accumulate_number(Number *sum, Number num) { void print_buffer_sum() { Number sum = {}; - for (size_t i = 0; i < ARG_WINDOW_SIZE; i++) { + for (int64_t i = 0; i < ARG_WINDOW_SIZE; i++) { accumulate_number(&sum, window_buffer[i]); } print_sum(sum); @@ -191,7 +191,6 @@ static int process_data(FILE *file) { print_sum(sum); } -process_data_end: return rc; } @@ -227,7 +226,6 @@ int main(int argc, char **argv) { rc = EXIT_FAILURE; } -close_file: if (input_file != stdin) { fclose(input_file); } -- cgit v1.2.3