made a lot of changes

This commit is contained in:
eck
1989-12-18 15:14:14 +00:00
parent a5be75a764
commit dd1196b169
21 changed files with 958 additions and 218 deletions

View File

@@ -6,24 +6,24 @@
#include <stdlib.h>
static void qsort1(void *, void *, size_t);
static int (*qcompar)(const void *, const void *);
static void qexchange(void *, void *, size_t);
static void q3exchange(void *, void *, void *, size_t);
static void qsort1(char *, char *, size_t);
static int (*qcompar)(const char *, const char *);
static void qexchange(char *, char *, size_t);
static void q3exchange(char *, char *, char *, size_t);
void
qsort(void *base, size_t nel, size_t width,
int (*compar)(const void *, const void *))
{
qcompar = compar;
qsort1(base, base + (nel - 1) * width, width);
qcompar = (int (*)(const char *, const char *)) compar;
qsort1(base, (char *)base + (nel - 1) * width, width);
}
static void
qsort1(void *a1, void *a2, register size_t width)
qsort1(char *a1, char *a2, register size_t width)
{
register const void *left, *right;
register const void *lefteq, *righteq;
register char *left, *right;
register char *lefteq, *righteq;
int cmp;
for (;;) {
@@ -110,7 +110,7 @@ again:
}
static void
qexchange(register void *p, register void *q,
qexchange(register char *p, register char *q,
register size_t n)
{
register int c;
@@ -123,7 +123,7 @@ qexchange(register void *p, register void *q,
}
static void
q3exchange(register void *p, register void *q, register void *r,
q3exchange(register char *p, register char *q, register char *r,
register size_t n)
{
register int c;