Fix accidental switch/teleporter behavior changes
[neverball] / share / array.c
index 4240025..590ac21 100644 (file)
@@ -1,3 +1,17 @@
+/*
+ * Copyright (C) 2003-2010 Neverball authors
+ *
+ * NEVERBALL is  free software; you can redistribute  it and/or modify
+ * it under the  terms of the GNU General  Public License as published
+ * by the Free  Software Foundation; either version 2  of the License,
+ * or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT  ANY  WARRANTY;  without   even  the  implied  warranty  of
+ * MERCHANTABILITY or  FITNESS FOR A PARTICULAR PURPOSE.   See the GNU
+ * General Public License for more details.
+ */
+
 #include <stdlib.h>
 #include <assert.h>
 
@@ -79,3 +93,10 @@ int array_len(Array a)
 
     return a->elem_num;
 }
+
+void array_sort(Array a, int (*cmp)(const void *, const void *))
+{
+    assert(a);
+
+    qsort(a->data, a->elem_num, a->elem_len, cmp);
+}