From 8e9c5b3592fdf2b1b016a9da1d1e1f6f1c23ef45 Mon Sep 17 00:00:00 2001 From: "Charlton, Scott R" Date: Fri, 19 Mar 2021 17:32:10 -0600 Subject: [PATCH] only call qsort with more than one element --- phreeqcpp/basicsubs.cpp | 6 +++--- phreeqcpp/prep.cpp | 2 +- phreeqcpp/print.cpp | 2 +- phreeqcpp/read.cpp | 4 ++-- phreeqcpp/structures.cpp | 10 +++++----- phreeqcpp/tidy.cpp | 8 ++++---- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/phreeqcpp/basicsubs.cpp b/phreeqcpp/basicsubs.cpp index 208c14bb..d88832ce 100644 --- a/phreeqcpp/basicsubs.cpp +++ b/phreeqcpp/basicsubs.cpp @@ -2636,7 +2636,7 @@ edl_species(const char *surf_name, LDBLE * count, char ***names, LDBLE ** moles, /* * Sort system species */ - if (sys.size() > 0) + if (sys.size() > 1) { qsort(&sys[0], sys.size(), sizeof(struct system_species), system_species_compare); @@ -2727,12 +2727,12 @@ system_total(const char *total_name, LDBLE * count, char ***names, /* * Sort system species */ - if (sys.size() > 0 && isort == 0) + if (sys.size() > 1 && isort == 0) { qsort(&sys[0], sys.size(), sizeof(struct system_species), system_species_compare); } - else if (sys.size() > 0) + else if (sys.size() > 1) { qsort(&sys[0], sys.size(), (size_t)sizeof(struct system_species), system_species_compare_name); diff --git a/phreeqcpp/prep.cpp b/phreeqcpp/prep.cpp index b69fb185..77464ce2 100644 --- a/phreeqcpp/prep.cpp +++ b/phreeqcpp/prep.cpp @@ -1352,7 +1352,7 @@ build_model(void) /* * Sort species list, by master only */ - qsort(&species_list[0], (int)species_list.size(), + if (species_list.size() > 1) qsort(&species_list[0], species_list.size(), sizeof(struct species_list), species_list_compare_master); /* * Save model description diff --git a/phreeqcpp/print.cpp b/phreeqcpp/print.cpp index 84bcbc47..71c9103c 100644 --- a/phreeqcpp/print.cpp +++ b/phreeqcpp/print.cpp @@ -3641,7 +3641,7 @@ print_alkalinity(void) (double) (total_alkalinity / mass_water_aq_x))); output_msg(sformatf("\t%-15s%12s%12s%10s\n\n", "Species", "Alkalinity", "Molality", "Alk/Mol")); - qsort(&alk_list[0], (size_t) count_alk_list, + if (count_alk_list > 1) qsort(&alk_list[0], (size_t) count_alk_list, (size_t) sizeof(struct species_list), species_list_compare_alk); for (i = 0; i < count_alk_list; i++) { diff --git a/phreeqcpp/read.cpp b/phreeqcpp/read.cpp index 05851720..fdd5f9a6 100644 --- a/phreeqcpp/read.cpp +++ b/phreeqcpp/read.cpp @@ -1661,14 +1661,14 @@ read_inverse(void) /* * Sort isotopes */ - if (inverse[n].count_isotopes > 0) + if (inverse[n].count_isotopes > 1) { qsort(inverse[n].isotopes, (size_t) inverse[n].count_isotopes, sizeof(struct inv_isotope), inverse_isotope_compare); } - if (inverse[n].count_i_u > 0) + if (inverse[n].count_i_u > 1) { qsort(inverse[n].i_u, (size_t) inverse[n].count_i_u, diff --git a/phreeqcpp/structures.cpp b/phreeqcpp/structures.cpp index 6b006f4b..670500de 100644 --- a/phreeqcpp/structures.cpp +++ b/phreeqcpp/structures.cpp @@ -848,7 +848,7 @@ inverse_sort(void) /* * Sort array of inverse structures */ - if (count_inverse > 0) + if (count_inverse > 1) { qsort(&inverse[0], (size_t) count_inverse, sizeof(struct inverse), inverse_compare); @@ -2163,7 +2163,7 @@ save_values_sort(void) /* * Sort array of save_values structures */ - if (save_values.size() > 0) + if (save_values.size() > 1) { qsort(&save_values[0], save_values.size(), sizeof(struct save_values), save_values_compare); @@ -2207,7 +2207,7 @@ save_values_store(struct save_values *s_v) save_values_sort(); } - if (save_values.size() > 0) + if (save_values.size() > 1) { qsort(&save_values[0], save_values.size(), sizeof(struct save_values), save_values_compare); @@ -2409,7 +2409,7 @@ species_list_sort(void) /* * Sort list using rules in species_list_compare */ - if (species_list.size() > 0) + if (species_list.size() > 1) { qsort(&species_list[0], species_list.size(), sizeof(struct species_list), species_list_compare); @@ -2909,7 +2909,7 @@ trxn_sort(void) /* * Compare names in tokens in trxn array for sorting */ - if (count_trxn - 1 > 0) + if (count_trxn - 1 > 1) { qsort(&trxn.token[1], (size_t) count_trxn - 1, diff --git a/phreeqcpp/tidy.cpp b/phreeqcpp/tidy.cpp index 3d3a140e..cca5d3e2 100644 --- a/phreeqcpp/tidy.cpp +++ b/phreeqcpp/tidy.cpp @@ -150,14 +150,14 @@ tidy_model(void) /* species */ if (new_model == TRUE) { - qsort(&s[0], s.size(), sizeof(struct species *), s_compare); + if (s.size() > 1) qsort(&s[0], s.size(), sizeof(struct species *), s_compare); /* master species */ - qsort(&master[0], master.size(), sizeof(struct master *), master_compare); + if (master.size() > 1) qsort(&master[0], master.size(), sizeof(struct master *), master_compare); /* elements */ - qsort(&elements[0], elements.size(), sizeof(struct element *), element_compare); + if (elements.size() > 1) qsort(&elements[0], elements.size(), sizeof(struct element *), element_compare); /* phases */ - qsort(&phases[0], phases.size(), sizeof(struct phase *), phase_compare); + if (phases.size() > 1) qsort(&phases[0], phases.size(), sizeof(struct phase *), phase_compare); }