4.3BSD/usr/contrib/spms/src/lib/libslist/test/slssort.a

!<arch>
Islssort        418431589   968   27    100644  179       `
bb/ systems
bbb/ software
Bbb large
bbb to
BBB medium
Aaa of
aaa management
9th for
8th system
7th a
6th is
5th (SPMS)
4th System
3rd Management
2nd Project
1st Software
10th The

Oslssort        418431589   968   27    100644  345       `
key_2 prepend key_2 internally after sort
key_1 prepend key_1 internally after sort
10th The
1st Software
2nd Project
3rd Management
4th System
5th (SPMS)
6th is
7th a
8th system
9th for
Aaa of
BBB medium
Bbb large
aaa management
bb/ systems
bbb to
bbb/ software
key_3 append key_3 internally after sort
key_4 append key_4 internally after sort

Tslssort.c      418431589   968   27    100644  1098      `
/*
 * slssort()
 */
#include <stdio.h>
#include "null.h"
#include "slslist.h"

#define KEYSIZE 10
#define STRSIZE 128

char *PGN = "Tslssort";

main()
{
	char key[KEYSIZE];		/* key to be added */
	char *slsappend();		/* append key+string */
	char *slsprepend();		/* prepend key+string */
	char string[STRSIZE];		/* string to be added */
	int slssort();			/* sort list */
	int strcmp();			/* compare strings */
	SLSBLK *curblk;			/* current list block */
	SLSLIST *slsinit();		/* initialize list */
	SLSLIST *slslist;		/* pointer to list head block */

	slslist = slsinit();
	while (scanf("%s%s", key, string) != EOF)
		slsprepend(key, string, slslist);
	slssort(strcmp, slslist);
	slsprepend("key_1", "prepend key_1 internally after sort", slslist);
	slsprepend("key_2", "prepend key_2 internally after sort", slslist);
	slsappend("key_3", "append key_3 internally after sort", slslist);
	slsappend("key_4", "append key_4 internally after sort", slslist);
	for (curblk = slslist->head; curblk != NULL;)
		{
		printf("%s %s\n", curblk->key, curblk->string);
		curblk = curblk->next;
		}
	exit(0);
}