d1a9d0f8693e766b2214e65c1bcd6942a4718d5a
kent
  Sat Dec 19 11:28:13 2020 -0800
Adding a sortStrings function as a little wrapper around qsort for an array of char *'s.  Also added microoptimization to doubleSort

diff --git src/lib/common.c src/lib/common.c
index 2dc4671..324f521 100644
--- src/lib/common.c
+++ src/lib/common.c
@@ -122,30 +122,45 @@
 
 void reverseStrings(char **a, int length)
 /* Reverse the order of the char* array. */
 {
 int halfLen = (length>>1);
 char **end = a+length;
 char *c;
 while (--halfLen >= 0)
     {
     c = *a;
     *a++ = *--end;
     *end = c;
     }
 }
 
+static int stringCmp(const void *va, const void *vb)
+/* Compare function to sort array of strings. */
+{
+char **a = (char **)va;
+char **b = (char **)vb;
+return strcmp(*a, *b);
+}
+
+void sortStrings(char **array, int count)
+/* Sort array using strcmp */
+{
+if (count > 1)
+    qsort(array, count, sizeof(array[0]), stringCmp); 
+}
+
 /* Swap buffers a and b. */
 void swapBytes(char *a, char *b, int length)
 {
 char c;
 int i;
 
 for (i=0; i<length; ++i)
     {
     c = a[i];
     a[i] = b[i];
     b[i] = c;
     }
 }
 
 
@@ -438,30 +453,31 @@
 for (i=list;i;i=i->next)
     if (i->val == target)
 	return i;
 return NULL;
 }
 
 struct slUnsigned *slUnsignedNew(unsigned x)
 /* Return a new int. */
 {
 struct slUnsigned *a;
 AllocVar(a);
 a->val = x;
 return a;
 }
 
+
 static int doubleCmp(const void *va, const void *vb)
 /* Compare function to sort array of doubles. */
 {
 const double *a = va;
 const double *b = vb;
 double diff = *a - *b;
 if (diff < 0)
     return -1;
 else if (diff > 0)
     return 1;
 else
     return 0;
 }
 
 void doubleSort(int count, double *array)