Commit graph

15 commits

Author SHA1 Message Date
Frederik Seiffert
27c06a9209 Fix various incorrect format string types 2021-08-11 19:32:21 +02:00
Gregory John Casamento
753c907938 Fix address for FSF and License name in all headers in base 2019-12-09 18:36:00 -05:00
Richard Frith-Macdonald
2425c42ace Cosmetic tweaks to match coding style 2019-06-06 14:16:30 +01:00
Richard Frith-MacDonald
39cc09e2ca Sort algorithms should always be built, and be selectable at runtime
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39998 72102866-910b-0410-8b05-ffd578937521
2016-07-15 11:30:07 +00:00
Niels Grewe
c9e0bddfd3 Fixup breakage introduced by r39762 and r39764, which apparently were never attempted to compile
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39990 72102866-910b-0410-8b05-ffd578937521
2016-07-12 21:41:27 +00:00
Richard Frith-MacDonald
71941dd24d cleanup changes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39762 72102866-910b-0410-8b05-ffd578937521
2016-05-14 09:34:01 +00:00
Niels Grewe
b968b38b09 Fix a vulnerability in the timsort algorithm where an algorithmic problem caused an
invariant to no longer hold for certain inputs, potentially leading to a read beyond
an array boundary (result in a segfault under our implementation).
See http://www.envisage-project.eu/proving-android-java-and-python-sorting-algorithm-is-broken-and-how-to-fix-it/
for an in-depth explanation of the problem. Also: ‘Yeah!’ for formal verification!


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38391 72102866-910b-0410-8b05-ffd578937521
2015-03-10 11:43:03 +00:00
Richard Frith-MacDonald
ed09c55959 leak detection improvements
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37003 72102866-910b-0410-8b05-ffd578937521
2013-08-22 15:44:54 +00:00
Niels Grewe
c92c3f5322 Fix typo.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35593 72102866-910b-0410-8b05-ffd578937521
2012-09-23 08:06:59 +00:00
Niels Grewe
679dc66bbf More timsort bugfixes (seems to work much better now)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35583 72102866-910b-0410-8b05-ffd578937521
2012-09-20 18:54:15 +00:00
Niels Grewe
be1f5c5c15 Fix bugs in the timsort implementation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35582 72102866-910b-0410-8b05-ffd578937521
2012-09-20 14:29:16 +00:00
Richard Frith-MacDonald
a4140c8f51 Changes to restore sorting functiionality
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35579 72102866-910b-0410-8b05-ffd578937521
2012-09-20 09:32:00 +00:00
Richard Frith-MacDonald
1b1355ff7f fix goto's breaking exception handler
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35575 72102866-910b-0410-8b05-ffd578937521
2012-09-19 16:40:22 +00:00
Richard Frith-MacDonald
cc42a0110d formatting/coding style fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35574 72102866-910b-0410-8b05-ffd578937521
2012-09-19 14:20:01 +00:00
Niels Grewe
f8fd11f3fd Completely overhaul how we do sorting in -base. GSSorting.h now defines an
interface that can be used for all sorting tasks in the library. The actual sort
algorithms to use are now plugable. Timsort is the new default sorting
algorithm, the existing algorithms, shellsort and quicksort, can still be
selected using a configure switch.

Also implement the new NSComparator (blocks) based sorting and insertion index
searching methods for NSMutableArray and NSArray.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35573 72102866-910b-0410-8b05-ffd578937521
2012-09-19 13:31:09 +00:00