summaryrefslogtreecommitdiffstats
path: root/lib/libskey/put.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libskey/put.c')
-rw-r--r--lib/libskey/put.c2293
1 files changed, 0 insertions, 2293 deletions
diff --git a/lib/libskey/put.c b/lib/libskey/put.c
deleted file mode 100644
index e57d9ca..0000000
--- a/lib/libskey/put.c
+++ /dev/null
@@ -1,2293 +0,0 @@
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-#include <ctype.h>
-#include "skey.h"
-
-static unsigned long extract __P((char *s,int start,int length));
-static void standard __P((char *word));
-static void insert __P((char *s, int x, int start, int length));
-static int wsrch __P((char *w,int low,int high));
-
-/* Dictionary for integer-word translations */
-static char Wp[2048][4] = {
-"A",
-"ABE",
-"ACE",
-"ACT",
-"AD",
-"ADA",
-"ADD",
-"AGO",
-"AID",
-"AIM",
-"AIR",
-"ALL",
-"ALP",
-"AM",
-"AMY",
-"AN",
-"ANA",
-"AND",
-"ANN",
-"ANT",
-"ANY",
-"APE",
-"APS",
-"APT",
-"ARC",
-"ARE",
-"ARK",
-"ARM",
-"ART",
-"AS",
-"ASH",
-"ASK",
-"AT",
-"ATE",
-"AUG",
-"AUK",
-"AVE",
-"AWE",
-"AWK",
-"AWL",
-"AWN",
-"AX",
-"AYE",
-"BAD",
-"BAG",
-"BAH",
-"BAM",
-"BAN",
-"BAR",
-"BAT",
-"BAY",
-"BE",
-"BED",
-"BEE",
-"BEG",
-"BEN",
-"BET",
-"BEY",
-"BIB",
-"BID",
-"BIG",
-"BIN",
-"BIT",
-"BOB",
-"BOG",
-"BON",
-"BOO",
-"BOP",
-"BOW",
-"BOY",
-"BUB",
-"BUD",
-"BUG",
-"BUM",
-"BUN",
-"BUS",
-"BUT",
-"BUY",
-"BY",
-"BYE",
-"CAB",
-"CAL",
-"CAM",
-"CAN",
-"CAP",
-"CAR",
-"CAT",
-"CAW",
-"COD",
-"COG",
-"COL",
-"CON",
-"COO",
-"COP",
-"COT",
-"COW",
-"COY",
-"CRY",
-"CUB",
-"CUE",
-"CUP",
-"CUR",
-"CUT",
-"DAB",
-"DAD",
-"DAM",
-"DAN",
-"DAR",
-"DAY",
-"DEE",
-"DEL",
-"DEN",
-"DES",
-"DEW",
-"DID",
-"DIE",
-"DIG",
-"DIN",
-"DIP",
-"DO",
-"DOE",
-"DOG",
-"DON",
-"DOT",
-"DOW",
-"DRY",
-"DUB",
-"DUD",
-"DUE",
-"DUG",
-"DUN",
-"EAR",
-"EAT",
-"ED",
-"EEL",
-"EGG",
-"EGO",
-"ELI",
-"ELK",
-"ELM",
-"ELY",
-"EM",
-"END",
-"EST",
-"ETC",
-"EVA",
-"EVE",
-"EWE",
-"EYE",
-"FAD",
-"FAN",
-"FAR",
-"FAT",
-"FAY",
-"FED",
-"FEE",
-"FEW",
-"FIB",
-"FIG",
-"FIN",
-"FIR",
-"FIT",
-"FLO",
-"FLY",
-"FOE",
-"FOG",
-"FOR",
-"FRY",
-"FUM",
-"FUN",
-"FUR",
-"GAB",
-"GAD",
-"GAG",
-"GAL",
-"GAM",
-"GAP",
-"GAS",
-"GAY",
-"GEE",
-"GEL",
-"GEM",
-"GET",
-"GIG",
-"GIL",
-"GIN",
-"GO",
-"GOT",
-"GUM",
-"GUN",
-"GUS",
-"GUT",
-"GUY",
-"GYM",
-"GYP",
-"HA",
-"HAD",
-"HAL",
-"HAM",
-"HAN",
-"HAP",
-"HAS",
-"HAT",
-"HAW",
-"HAY",
-"HE",
-"HEM",
-"HEN",
-"HER",
-"HEW",
-"HEY",
-"HI",
-"HID",
-"HIM",
-"HIP",
-"HIS",
-"HIT",
-"HO",
-"HOB",
-"HOC",
-"HOE",
-"HOG",
-"HOP",
-"HOT",
-"HOW",
-"HUB",
-"HUE",
-"HUG",
-"HUH",
-"HUM",
-"HUT",
-"I",
-"ICY",
-"IDA",
-"IF",
-"IKE",
-"ILL",
-"INK",
-"INN",
-"IO",
-"ION",
-"IQ",
-"IRA",
-"IRE",
-"IRK",
-"IS",
-"IT",
-"ITS",
-"IVY",
-"JAB",
-"JAG",
-"JAM",
-"JAN",
-"JAR",
-"JAW",
-"JAY",
-"JET",
-"JIG",
-"JIM",
-"JO",
-"JOB",
-"JOE",
-"JOG",
-"JOT",
-"JOY",
-"JUG",
-"JUT",
-"KAY",
-"KEG",
-"KEN",
-"KEY",
-"KID",
-"KIM",
-"KIN",
-"KIT",
-"LA",
-"LAB",
-"LAC",
-"LAD",
-"LAG",
-"LAM",
-"LAP",
-"LAW",
-"LAY",
-"LEA",
-"LED",
-"LEE",
-"LEG",
-"LEN",
-"LEO",
-"LET",
-"LEW",
-"LID",
-"LIE",
-"LIN",
-"LIP",
-"LIT",
-"LO",
-"LOB",
-"LOG",
-"LOP",
-"LOS",
-"LOT",
-"LOU",
-"LOW",
-"LOY",
-"LUG",
-"LYE",
-"MA",
-"MAC",
-"MAD",
-"MAE",
-"MAN",
-"MAO",
-"MAP",
-"MAT",
-"MAW",
-"MAY",
-"ME",
-"MEG",
-"MEL",
-"MEN",
-"MET",
-"MEW",
-"MID",
-"MIN",
-"MIT",
-"MOB",
-"MOD",
-"MOE",
-"MOO",
-"MOP",
-"MOS",
-"MOT",
-"MOW",
-"MUD",
-"MUG",
-"MUM",
-"MY",
-"NAB",
-"NAG",
-"NAN",
-"NAP",
-"NAT",
-"NAY",
-"NE",
-"NED",
-"NEE",
-"NET",
-"NEW",
-"NIB",
-"NIL",
-"NIP",
-"NIT",
-"NO",
-"NOB",
-"NOD",
-"NON",
-"NOR",
-"NOT",
-"NOV",
-"NOW",
-"NU",
-"NUN",
-"NUT",
-"O",
-"OAF",
-"OAK",
-"OAR",
-"OAT",
-"ODD",
-"ODE",
-"OF",
-"OFF",
-"OFT",
-"OH",
-"OIL",
-"OK",
-"OLD",
-"ON",
-"ONE",
-"OR",
-"ORB",
-"ORE",
-"ORR",
-"OS",
-"OTT",
-"OUR",
-"OUT",
-"OVA",
-"OW",
-"OWE",
-"OWL",
-"OWN",
-"OX",
-"PA",
-"PAD",
-"PAL",
-"PAM",
-"PAN",
-"PAP",
-"PAR",
-"PAT",
-"PAW",
-"PAY",
-"PEA",
-"PEG",
-"PEN",
-"PEP",
-"PER",
-"PET",
-"PEW",
-"PHI",
-"PI",
-"PIE",
-"PIN",
-"PIT",
-"PLY",
-"PO",
-"POD",
-"POE",
-"POP",
-"POT",
-"POW",
-"PRO",
-"PRY",
-"PUB",
-"PUG",
-"PUN",
-"PUP",
-"PUT",
-"QUO",
-"RAG",
-"RAM",
-"RAN",
-"RAP",
-"RAT",
-"RAW",
-"RAY",
-"REB",
-"RED",
-"REP",
-"RET",
-"RIB",
-"RID",
-"RIG",
-"RIM",
-"RIO",
-"RIP",
-"ROB",
-"ROD",
-"ROE",
-"RON",
-"ROT",
-"ROW",
-"ROY",
-"RUB",
-"RUE",
-"RUG",
-"RUM",
-"RUN",
-"RYE",
-"SAC",
-"SAD",
-"SAG",
-"SAL",
-"SAM",
-"SAN",
-"SAP",
-"SAT",
-"SAW",
-"SAY",
-"SEA",
-"SEC",
-"SEE",
-"SEN",
-"SET",
-"SEW",
-"SHE",
-"SHY",
-"SIN",
-"SIP",
-"SIR",
-"SIS",
-"SIT",
-"SKI",
-"SKY",
-"SLY",
-"SO",
-"SOB",
-"SOD",
-"SON",
-"SOP",
-"SOW",
-"SOY",
-"SPA",
-"SPY",
-"SUB",
-"SUD",
-"SUE",
-"SUM",
-"SUN",
-"SUP",
-"TAB",
-"TAD",
-"TAG",
-"TAN",
-"TAP",
-"TAR",
-"TEA",
-"TED",
-"TEE",
-"TEN",
-"THE",
-"THY",
-"TIC",
-"TIE",
-"TIM",
-"TIN",
-"TIP",
-"TO",
-"TOE",
-"TOG",
-"TOM",
-"TON",
-"TOO",
-"TOP",
-"TOW",
-"TOY",
-"TRY",
-"TUB",
-"TUG",
-"TUM",
-"TUN",
-"TWO",
-"UN",
-"UP",
-"US",
-"USE",
-"VAN",
-"VAT",
-"VET",
-"VIE",
-"WAD",
-"WAG",
-"WAR",
-"WAS",
-"WAY",
-"WE",
-"WEB",
-"WED",
-"WEE",
-"WET",
-"WHO",
-"WHY",
-"WIN",
-"WIT",
-"WOK",
-"WON",
-"WOO",
-"WOW",
-"WRY",
-"WU",
-"YAM",
-"YAP",
-"YAW",
-"YE",
-"YEA",
-"YES",
-"YET",
-"YOU",
-"ABED",
-"ABEL",
-"ABET",
-"ABLE",
-"ABUT",
-"ACHE",
-"ACID",
-"ACME",
-"ACRE",
-"ACTA",
-"ACTS",
-"ADAM",
-"ADDS",
-"ADEN",
-"AFAR",
-"AFRO",
-"AGEE",
-"AHEM",
-"AHOY",
-"AIDA",
-"AIDE",
-"AIDS",
-"AIRY",
-"AJAR",
-"AKIN",
-"ALAN",
-"ALEC",
-"ALGA",
-"ALIA",
-"ALLY",
-"ALMA",
-"ALOE",
-"ALSO",
-"ALTO",
-"ALUM",
-"ALVA",
-"AMEN",
-"AMES",
-"AMID",
-"AMMO",
-"AMOK",
-"AMOS",
-"AMRA",
-"ANDY",
-"ANEW",
-"ANNA",
-"ANNE",
-"ANTE",
-"ANTI",
-"AQUA",
-"ARAB",
-"ARCH",
-"AREA",
-"ARGO",
-"ARID",
-"ARMY",
-"ARTS",
-"ARTY",
-"ASIA",
-"ASKS",
-"ATOM",
-"AUNT",
-"AURA",
-"AUTO",
-"AVER",
-"AVID",
-"AVIS",
-"AVON",
-"AVOW",
-"AWAY",
-"AWRY",
-"BABE",
-"BABY",
-"BACH",
-"BACK",
-"BADE",
-"BAIL",
-"BAIT",
-"BAKE",
-"BALD",
-"BALE",
-"BALI",
-"BALK",
-"BALL",
-"BALM",
-"BAND",
-"BANE",
-"BANG",
-"BANK",
-"BARB",
-"BARD",
-"BARE",
-"BARK",
-"BARN",
-"BARR",
-"BASE",
-"BASH",
-"BASK",
-"BASS",
-"BATE",
-"BATH",
-"BAWD",
-"BAWL",
-"BEAD",
-"BEAK",
-"BEAM",
-"BEAN",
-"BEAR",
-"BEAT",
-"BEAU",
-"BECK",
-"BEEF",
-"BEEN",
-"BEER",
-"BEET",
-"BELA",
-"BELL",
-"BELT",
-"BEND",
-"BENT",
-"BERG",
-"BERN",
-"BERT",
-"BESS",
-"BEST",
-"BETA",
-"BETH",
-"BHOY",
-"BIAS",
-"BIDE",
-"BIEN",
-"BILE",
-"BILK",
-"BILL",
-"BIND",
-"BING",
-"BIRD",
-"BITE",
-"BITS",
-"BLAB",
-"BLAT",
-"BLED",
-"BLEW",
-"BLOB",
-"BLOC",
-"BLOT",
-"BLOW",
-"BLUE",
-"BLUM",
-"BLUR",
-"BOAR",
-"BOAT",
-"BOCA",
-"BOCK",
-"BODE",
-"BODY",
-"BOGY",
-"BOHR",
-"BOIL",
-"BOLD",
-"BOLO",
-"BOLT",
-"BOMB",
-"BONA",
-"BOND",
-"BONE",
-"BONG",
-"BONN",
-"BONY",
-"BOOK",
-"BOOM",
-"BOON",
-"BOOT",
-"BORE",
-"BORG",
-"BORN",
-"BOSE",
-"BOSS",
-"BOTH",
-"BOUT",
-"BOWL",
-"BOYD",
-"BRAD",
-"BRAE",
-"BRAG",
-"BRAN",
-"BRAY",
-"BRED",
-"BREW",
-"BRIG",
-"BRIM",
-"BROW",
-"BUCK",
-"BUDD",
-"BUFF",
-"BULB",
-"BULK",
-"BULL",
-"BUNK",
-"BUNT",
-"BUOY",
-"BURG",
-"BURL",
-"BURN",
-"BURR",
-"BURT",
-"BURY",
-"BUSH",
-"BUSS",
-"BUST",
-"BUSY",
-"BYTE",
-"CADY",
-"CAFE",
-"CAGE",
-"CAIN",
-"CAKE",
-"CALF",
-"CALL",
-"CALM",
-"CAME",
-"CANE",
-"CANT",
-"CARD",
-"CARE",
-"CARL",
-"CARR",
-"CART",
-"CASE",
-"CASH",
-"CASK",
-"CAST",
-"CAVE",
-"CEIL",
-"CELL",
-"CENT",
-"CERN",
-"CHAD",
-"CHAR",
-"CHAT",
-"CHAW",
-"CHEF",
-"CHEN",
-"CHEW",
-"CHIC",
-"CHIN",
-"CHOU",
-"CHOW",
-"CHUB",
-"CHUG",
-"CHUM",
-"CITE",
-"CITY",
-"CLAD",
-"CLAM",
-"CLAN",
-"CLAW",
-"CLAY",
-"CLOD",
-"CLOG",
-"CLOT",
-"CLUB",
-"CLUE",
-"COAL",
-"COAT",
-"COCA",
-"COCK",
-"COCO",
-"CODA",
-"CODE",
-"CODY",
-"COED",
-"COIL",
-"COIN",
-"COKE",
-"COLA",
-"COLD",
-"COLT",
-"COMA",
-"COMB",
-"COME",
-"COOK",
-"COOL",
-"COON",
-"COOT",
-"CORD",
-"CORE",
-"CORK",
-"CORN",
-"COST",
-"COVE",
-"COWL",
-"CRAB",
-"CRAG",
-"CRAM",
-"CRAY",
-"CREW",
-"CRIB",
-"CROW",
-"CRUD",
-"CUBA",
-"CUBE",
-"CUFF",
-"CULL",
-"CULT",
-"CUNY",
-"CURB",
-"CURD",
-"CURE",
-"CURL",
-"CURT",
-"CUTS",
-"DADE",
-"DALE",
-"DAME",
-"DANA",
-"DANE",
-"DANG",
-"DANK",
-"DARE",
-"DARK",
-"DARN",
-"DART",
-"DASH",
-"DATA",
-"DATE",
-"DAVE",
-"DAVY",
-"DAWN",
-"DAYS",
-"DEAD",
-"DEAF",
-"DEAL",
-"DEAN",
-"DEAR",
-"DEBT",
-"DECK",
-"DEED",
-"DEEM",
-"DEER",
-"DEFT",
-"DEFY",
-"DELL",
-"DENT",
-"DENY",
-"DESK",
-"DIAL",
-"DICE",
-"DIED",
-"DIET",
-"DIME",
-"DINE",
-"DING",
-"DINT",
-"DIRE",
-"DIRT",
-"DISC",
-"DISH",
-"DISK",
-"DIVE",
-"DOCK",
-"DOES",
-"DOLE",
-"DOLL",
-"DOLT",
-"DOME",
-"DONE",
-"DOOM",
-"DOOR",
-"DORA",
-"DOSE",
-"DOTE",
-"DOUG",
-"DOUR",
-"DOVE",
-"DOWN",
-"DRAB",
-"DRAG",
-"DRAM",
-"DRAW",
-"DREW",
-"DRUB",
-"DRUG",
-"DRUM",
-"DUAL",
-"DUCK",
-"DUCT",
-"DUEL",
-"DUET",
-"DUKE",
-"DULL",
-"DUMB",
-"DUNE",
-"DUNK",
-"DUSK",
-"DUST",
-"DUTY",
-"EACH",
-"EARL",
-"EARN",
-"EASE",
-"EAST",
-"EASY",
-"EBEN",
-"ECHO",
-"EDDY",
-"EDEN",
-"EDGE",
-"EDGY",
-"EDIT",
-"EDNA",
-"EGAN",
-"ELAN",
-"ELBA",
-"ELLA",
-"ELSE",
-"EMIL",
-"EMIT",
-"EMMA",
-"ENDS",
-"ERIC",
-"EROS",
-"EVEN",
-"EVER",
-"EVIL",
-"EYED",
-"FACE",
-"FACT",
-"FADE",
-"FAIL",
-"FAIN",
-"FAIR",
-"FAKE",
-"FALL",
-"FAME",
-"FANG",
-"FARM",
-"FAST",
-"FATE",
-"FAWN",
-"FEAR",
-"FEAT",
-"FEED",
-"FEEL",
-"FEET",
-"FELL",
-"FELT",
-"FEND",
-"FERN",
-"FEST",
-"FEUD",
-"FIEF",
-"FIGS",
-"FILE",
-"FILL",
-"FILM",
-"FIND",
-"FINE",
-"FINK",
-"FIRE",
-"FIRM",
-"FISH",
-"FISK",
-"FIST",
-"FITS",
-"FIVE",
-"FLAG",
-"FLAK",
-"FLAM",
-"FLAT",
-"FLAW",
-"FLEA",
-"FLED",
-"FLEW",
-"FLIT",
-"FLOC",
-"FLOG",
-"FLOW",
-"FLUB",
-"FLUE",
-"FOAL",
-"FOAM",
-"FOGY",
-"FOIL",
-"FOLD",
-"FOLK",
-"FOND",
-"FONT",
-"FOOD",
-"FOOL",
-"FOOT",
-"FORD",
-"FORE",
-"FORK",
-"FORM",
-"FORT",
-"FOSS",
-"FOUL",
-"FOUR",
-"FOWL",
-"FRAU",
-"FRAY",
-"FRED",
-"FREE",
-"FRET",
-"FREY",
-"FROG",
-"FROM",
-"FUEL",
-"FULL",
-"FUME",
-"FUND",
-"FUNK",
-"FURY",
-"FUSE",
-"FUSS",
-"GAFF",
-"GAGE",
-"GAIL",
-"GAIN",
-"GAIT",
-"GALA",
-"GALE",
-"GALL",
-"GALT",
-"GAME",
-"GANG",
-"GARB",
-"GARY",
-"GASH",
-"GATE",
-"GAUL",
-"GAUR",
-"GAVE",
-"GAWK",
-"GEAR",
-"GELD",
-"GENE",
-"GENT",
-"GERM",
-"GETS",
-"GIBE",
-"GIFT",
-"GILD",
-"GILL",
-"GILT",
-"GINA",
-"GIRD",
-"GIRL",
-"GIST",
-"GIVE",
-"GLAD",
-"GLEE",
-"GLEN",
-"GLIB",
-"GLOB",
-"GLOM",
-"GLOW",
-"GLUE",
-"GLUM",
-"GLUT",
-"GOAD",
-"GOAL",
-"GOAT",
-"GOER",
-"GOES",
-"GOLD",
-"GOLF",
-"GONE",
-"GONG",
-"GOOD",
-"GOOF",
-"GORE",
-"GORY",
-"GOSH",
-"GOUT",
-"GOWN",
-"GRAB",
-"GRAD",
-"GRAY",
-"GREG",
-"GREW",
-"GREY",
-"GRID",
-"GRIM",
-"GRIN",
-"GRIT",
-"GROW",
-"GRUB",
-"GULF",
-"GULL",
-"GUNK",
-"GURU",
-"GUSH",
-"GUST",
-"GWEN",
-"GWYN",
-"HAAG",
-"HAAS",
-"HACK",
-"HAIL",
-"HAIR",
-"HALE",
-"HALF",
-"HALL",
-"HALO",
-"HALT",
-"HAND",
-"HANG",
-"HANK",
-"HANS",
-"HARD",
-"HARK",
-"HARM",
-"HART",
-"HASH",
-"HAST",
-"HATE",
-"HATH",
-"HAUL",
-"HAVE",
-"HAWK",
-"HAYS",
-"HEAD",
-"HEAL",
-"HEAR",
-"HEAT",
-"HEBE",
-"HECK",
-"HEED",
-"HEEL",
-"HEFT",
-"HELD",
-"HELL",
-"HELM",
-"HERB",
-"HERD",
-"HERE",
-"HERO",
-"HERS",
-"HESS",
-"HEWN",
-"HICK",
-"HIDE",
-"HIGH",
-"HIKE",
-"HILL",
-"HILT",
-"HIND",
-"HINT",
-"HIRE",
-"HISS",
-"HIVE",
-"HOBO",
-"HOCK",
-"HOFF",
-"HOLD",
-"HOLE",
-"HOLM",
-"HOLT",
-"HOME",
-"HONE",
-"HONK",
-"HOOD",
-"HOOF",
-"HOOK",
-"HOOT",
-"HORN",
-"HOSE",
-"HOST",
-"HOUR",
-"HOVE",
-"HOWE",
-"HOWL",
-"HOYT",
-"HUCK",
-"HUED",
-"HUFF",
-"HUGE",
-"HUGH",
-"HUGO",
-"HULK",
-"HULL",
-"HUNK",
-"HUNT",
-"HURD",
-"HURL",
-"HURT",
-"HUSH",
-"HYDE",
-"HYMN",
-"IBIS",
-"ICON",
-"IDEA",
-"IDLE",
-"IFFY",
-"INCA",
-"INCH",
-"INTO",
-"IONS",
-"IOTA",
-"IOWA",
-"IRIS",
-"IRMA",
-"IRON",
-"ISLE",
-"ITCH",
-"ITEM",
-"IVAN",
-"JACK",
-"JADE",
-"JAIL",
-"JAKE",
-"JANE",
-"JAVA",
-"JEAN",
-"JEFF",
-"JERK",
-"JESS",
-"JEST",
-"JIBE",
-"JILL",
-"JILT",
-"JIVE",
-"JOAN",
-"JOBS",
-"JOCK",
-"JOEL",
-"JOEY",
-"JOHN",
-"JOIN",
-"JOKE",
-"JOLT",
-"JOVE",
-"JUDD",
-"JUDE",
-"JUDO",
-"JUDY",
-"JUJU",
-"JUKE",
-"JULY",
-"JUNE",
-"JUNK",
-"JUNO",
-"JURY",
-"JUST",
-"JUTE",
-"KAHN",
-"KALE",
-"KANE",
-"KANT",
-"KARL",
-"KATE",
-"KEEL",
-"KEEN",
-"KENO",
-"KENT",
-"KERN",
-"KERR",
-"KEYS",
-"KICK",
-"KILL",
-"KIND",
-"KING",
-"KIRK",
-"KISS",
-"KITE",
-"KLAN",
-"KNEE",
-"KNEW",
-"KNIT",
-"KNOB",
-"KNOT",
-"KNOW",
-"KOCH",
-"KONG",
-"KUDO",
-"KURD",
-"KURT",
-"KYLE",
-"LACE",
-"LACK",
-"LACY",
-"LADY",
-"LAID",
-"LAIN",
-"LAIR",
-"LAKE",
-"LAMB",
-"LAME",
-"LAND",
-"LANE",
-"LANG",
-"LARD",
-"LARK",
-"LASS",
-"LAST",
-"LATE",
-"LAUD",
-"LAVA",
-"LAWN",
-"LAWS",
-"LAYS",
-"LEAD",
-"LEAF",
-"LEAK",
-"LEAN",
-"LEAR",
-"LEEK",
-"LEER",
-"LEFT",
-"LEND",
-"LENS",
-"LENT",
-"LEON",
-"LESK",
-"LESS",
-"LEST",
-"LETS",
-"LIAR",
-"LICE",
-"LICK",
-"LIED",
-"LIEN",
-"LIES",
-"LIEU",
-"LIFE",
-"LIFT",
-"LIKE",
-"LILA",
-"LILT",
-"LILY",
-"LIMA",
-"LIMB",
-"LIME",
-"LIND",
-"LINE",
-"LINK",
-"LINT",
-"LION",
-"LISA",
-"LIST",
-"LIVE",
-"LOAD",
-"LOAF",
-"LOAM",
-"LOAN",
-"LOCK",
-"LOFT",
-"LOGE",
-"LOIS",
-"LOLA",
-"LONE",
-"LONG",
-"LOOK",
-"LOON",
-"LOOT",
-"LORD",
-"LORE",
-"LOSE",
-"LOSS",
-"LOST",
-"LOUD",
-"LOVE",
-"LOWE",
-"LUCK",
-"LUCY",
-"LUGE",
-"LUKE",
-"LULU",
-"LUND",
-"LUNG",
-"LURA",
-"LURE",
-"LURK",
-"LUSH",
-"LUST",
-"LYLE",
-"LYNN",
-"LYON",
-"LYRA",
-"MACE",
-"MADE",
-"MAGI",
-"MAID",
-"MAIL",
-"MAIN",
-"MAKE",
-"MALE",
-"MALI",
-"MALL",
-"MALT",
-"MANA",
-"MANN",
-"MANY",
-"MARC",
-"MARE",
-"MARK",
-"MARS",
-"MART",
-"MARY",
-"MASH",
-"MASK",
-"MASS",
-"MAST",
-"MATE",
-"MATH",
-"MAUL",
-"MAYO",
-"MEAD",
-"MEAL",
-"MEAN",
-"MEAT",
-"MEEK",
-"MEET",
-"MELD",
-"MELT",
-"MEMO",
-"MEND",
-"MENU",
-"MERT",
-"MESH",
-"MESS",
-"MICE",
-"MIKE",
-"MILD",
-"MILE",
-"MILK",
-"MILL",
-"MILT",
-"MIMI",
-"MIND",
-"MINE",
-"MINI",
-"MINK",
-"MINT",
-"MIRE",
-"MISS",
-"MIST",
-"MITE",
-"MITT",
-"MOAN",
-"MOAT",
-"MOCK",
-"MODE",
-"MOLD",
-"MOLE",
-"MOLL",
-"MOLT",
-"MONA",
-"MONK",
-"MONT",
-"MOOD",
-"MOON",
-"MOOR",
-"MOOT",
-"MORE",
-"MORN",
-"MORT",
-"MOSS",
-"MOST",
-"MOTH",
-"MOVE",
-"MUCH",
-"MUCK",
-"MUDD",
-"MUFF",
-"MULE",
-"MULL",
-"MURK",
-"MUSH",
-"MUST",
-"MUTE",
-"MUTT",
-"MYRA",
-"MYTH",
-"NAGY",
-"NAIL",
-"NAIR",
-"NAME",
-"NARY",
-"NASH",
-"NAVE",
-"NAVY",
-"NEAL",
-"NEAR",
-"NEAT",
-"NECK",
-"NEED",
-"NEIL",
-"NELL",
-"NEON",
-"NERO",
-"NESS",
-"NEST",
-"NEWS",
-"NEWT",
-"NIBS",
-"NICE",
-"NICK",
-"NILE",
-"NINA",
-"NINE",
-"NOAH",
-"NODE",
-"NOEL",
-"NOLL",
-"NONE",
-"NOOK",
-"NOON",
-"NORM",
-"NOSE",
-"NOTE",
-"NOUN",
-"NOVA",
-"NUDE",
-"NULL",
-"NUMB",
-"OATH",
-"OBEY",
-"OBOE",
-"ODIN",
-"OHIO",
-"OILY",
-"OINT",
-"OKAY",
-"OLAF",
-"OLDY",
-"OLGA",
-"OLIN",
-"OMAN",
-"OMEN",
-"OMIT",
-"ONCE",
-"ONES",
-"ONLY",
-"ONTO",
-"ONUS",
-"ORAL",
-"ORGY",
-"OSLO",
-"OTIS",
-"OTTO",
-"OUCH",
-"OUST",
-"OUTS",
-"OVAL",
-"OVEN",
-"OVER",
-"OWLY",
-"OWNS",
-"QUAD",
-"QUIT",
-"QUOD",
-"RACE",
-"RACK",
-"RACY",
-"RAFT",
-"RAGE",
-"RAID",
-"RAIL",
-"RAIN",
-"RAKE",
-"RANK",
-"RANT",
-"RARE",
-"RASH",
-"RATE",
-"RAVE",
-"RAYS",
-"READ",
-"REAL",
-"REAM",
-"REAR",
-"RECK",
-"REED",
-"REEF",
-"REEK",
-"REEL",
-"REID",
-"REIN",
-"RENA",
-"REND",
-"RENT",
-"REST",
-"RICE",
-"RICH",
-"RICK",
-"RIDE",
-"RIFT",
-"RILL",
-"RIME",
-"RING",
-"RINK",
-"RISE",
-"RISK",
-"RITE",
-"ROAD",
-"ROAM",
-"ROAR",
-"ROBE",
-"ROCK",
-"RODE",
-"ROIL",
-"ROLL",
-"ROME",
-"ROOD",
-"ROOF",
-"ROOK",
-"ROOM",
-"ROOT",
-"ROSA",
-"ROSE",
-"ROSS",
-"ROSY",
-"ROTH",
-"ROUT",
-"ROVE",
-"ROWE",
-"ROWS",
-"RUBE",
-"RUBY",
-"RUDE",
-"RUDY",
-"RUIN",
-"RULE",
-"RUNG",
-"RUNS",
-"RUNT",
-"RUSE",
-"RUSH",
-"RUSK",
-"RUSS",
-"RUST",
-"RUTH",
-"SACK",
-"SAFE",
-"SAGE",
-"SAID",
-"SAIL",
-"SALE",
-"SALK",
-"SALT",
-"SAME",
-"SAND",
-"SANE",
-"SANG",
-"SANK",
-"SARA",
-"SAUL",
-"SAVE",
-"SAYS",
-"SCAN",
-"SCAR",
-"SCAT",
-"SCOT",
-"SEAL",
-"SEAM",
-"SEAR",
-"SEAT",
-"SEED",
-"SEEK",
-"SEEM",
-"SEEN",
-"SEES",
-"SELF",
-"SELL",
-"SEND",
-"SENT",
-"SETS",
-"SEWN",
-"SHAG",
-"SHAM",
-"SHAW",
-"SHAY",
-"SHED",
-"SHIM",
-"SHIN",
-"SHOD",
-"SHOE",
-"SHOT",
-"SHOW",
-"SHUN",
-"SHUT",
-"SICK",
-"SIDE",
-"SIFT",
-"SIGH",
-"SIGN",
-"SILK",
-"SILL",
-"SILO",
-"SILT",
-"SINE",
-"SING",
-"SINK",
-"SIRE",
-"SITE",
-"SITS",
-"SITU",
-"SKAT",
-"SKEW",
-"SKID",
-"SKIM",
-"SKIN",
-"SKIT",
-"SLAB",
-"SLAM",
-"SLAT",
-"SLAY",
-"SLED",
-"SLEW",
-"SLID",
-"SLIM",
-"SLIT",
-"SLOB",
-"SLOG",
-"SLOT",
-"SLOW",
-"SLUG",
-"SLUM",
-"SLUR",
-"SMOG",
-"SMUG",
-"SNAG",
-"SNOB",
-"SNOW",
-"SNUB",
-"SNUG",
-"SOAK",
-"SOAR",
-"SOCK",
-"SODA",
-"SOFA",
-"SOFT",
-"SOIL",
-"SOLD",
-"SOME",
-"SONG",
-"SOON",
-"SOOT",
-"SORE",
-"SORT",
-"SOUL",
-"SOUR",
-"SOWN",
-"STAB",
-"STAG",
-"STAN",
-"STAR",
-"STAY",
-"STEM",
-"STEW",
-"STIR",
-"STOW",
-"STUB",
-"STUN",
-"SUCH",
-"SUDS",
-"SUIT",
-"SULK",
-"SUMS",
-"SUNG",
-"SUNK",
-"SURE",
-"SURF",
-"SWAB",
-"SWAG",
-"SWAM",
-"SWAN",
-"SWAT",
-"SWAY",
-"SWIM",
-"SWUM",
-"TACK",
-"TACT",
-"TAIL",
-"TAKE",
-"TALE",
-"TALK",
-"TALL",
-"TANK",
-"TASK",
-"TATE",
-"TAUT",
-"TEAL",
-"TEAM",
-"TEAR",
-"TECH",
-"TEEM",
-"TEEN",
-"TEET",
-"TELL",
-"TEND",
-"TENT",
-"TERM",
-"TERN",
-"TESS",
-"TEST",
-"THAN",
-"THAT",
-"THEE",
-"THEM",
-"THEN",
-"THEY",
-"THIN",
-"THIS",
-"THUD",
-"THUG",
-"TICK",
-"TIDE",
-"TIDY",
-"TIED",
-"TIER",
-"TILE",
-"TILL",
-"TILT",
-"TIME",
-"TINA",
-"TINE",
-"TINT",
-"TINY",
-"TIRE",
-"TOAD",
-"TOGO",
-"TOIL",
-"TOLD",
-"TOLL",
-"TONE",
-"TONG",
-"TONY",
-"TOOK",
-"TOOL",
-"TOOT",
-"TORE",
-"TORN",
-"TOTE",
-"TOUR",
-"TOUT",
-"TOWN",
-"TRAG",
-"TRAM",
-"TRAY",
-"TREE",
-"TREK",
-"TRIG",
-"TRIM",
-"TRIO",
-"TROD",
-"TROT",
-"TROY",
-"TRUE",
-"TUBA",
-"TUBE",
-"TUCK",
-"TUFT",
-"TUNA",
-"TUNE",
-"TUNG",
-"TURF",
-"TURN",
-"TUSK",
-"TWIG",
-"TWIN",
-"TWIT",
-"ULAN",
-"UNIT",
-"URGE",
-"USED",
-"USER",
-"USES",
-"UTAH",
-"VAIL",
-"VAIN",
-"VALE",
-"VARY",
-"VASE",
-"VAST",
-"VEAL",
-"VEDA",
-"VEIL",
-"VEIN",
-"VEND",
-"VENT",
-"VERB",
-"VERY",
-"VETO",
-"VICE",
-"VIEW",
-"VINE",
-"VISE",
-"VOID",
-"VOLT",
-"VOTE",
-"WACK",
-"WADE",
-"WAGE",
-"WAIL",
-"WAIT",
-"WAKE",
-"WALE",
-"WALK",
-"WALL",
-"WALT",
-"WAND",
-"WANE",
-"WANG",
-"WANT",
-"WARD",
-"WARM",
-"WARN",
-"WART",
-"WASH",
-"WAST",
-"WATS",
-"WATT",
-"WAVE",
-"WAVY",
-"WAYS",
-"WEAK",
-"WEAL",
-"WEAN",
-"WEAR",
-"WEED",
-"WEEK",
-"WEIR",
-"WELD",
-"WELL",
-"WELT",
-"WENT",
-"WERE",
-"WERT",
-"WEST",
-"WHAM",
-"WHAT",
-"WHEE",
-"WHEN",
-"WHET",
-"WHOA",
-"WHOM",
-"WICK",
-"WIFE",
-"WILD",
-"WILL",
-"WIND",
-"WINE",
-"WING",
-"WINK",
-"WINO",
-"WIRE",
-"WISE",
-"WISH",
-"WITH",
-"WOLF",
-"WONT",
-"WOOD",
-"WOOL",
-"WORD",
-"WORE",
-"WORK",
-"WORM",
-"WORN",
-"WOVE",
-"WRIT",
-"WYNN",
-"YALE",
-"YANG",
-"YANK",
-"YARD",
-"YARN",
-"YAWL",
-"YAWN",
-"YEAH",
-"YEAR",
-"YELL",
-"YOGA",
-"YOKE"
-};
-
-/* Encode 8 bytes in 'c' as a string of English words.
- * Returns a pointer to a static buffer
- */
-char *
-btoe(engout,c)
-char *c, *engout;
-{
- char cp[9]; /* add in room for the parity 2 bits*/
- int p,i ;
-
- engout[0] = '\0';
- memcpy(cp, c,8);
- /* compute parity */
- for(p = 0,i = 0; i < 64;i += 2)
- p += extract(cp,i,2);
-
- cp[8] = (char)p << 6;
- strncat(engout,&Wp[extract(cp, 0,11)][0],4);
- strcat(engout," ");
- strncat(engout,&Wp[extract(cp,11,11)][0],4);
- strcat(engout," ");
- strncat(engout,&Wp[extract(cp,22,11)][0],4);
- strcat(engout," ");
- strncat(engout,&Wp[extract(cp,33,11)][0],4);
- strcat(engout," ");
- strncat(engout,&Wp[extract(cp,44,11)][0],4);
- strcat(engout," ");
- strncat(engout,&Wp[extract(cp,55,11)][0],4);
-#ifdef notdef
- printf("engout is %s\n\r",engout);
-#endif
- return(engout);
-}
-
-/* convert English to binary
- * returns 1 OK - all good words and parity is OK
- * 0 word not in data base
- * -1 badly formed in put ie > 4 char word
- * -2 words OK but parity is wrong
- */
-int
-etob(out, e)
-char *out;
-char *e;
-{
- char *word, *cp;
- int i, v,l, low,high;
- unsigned int p;
- char b[9];
- char input[36];
-
- if(e == NULL)
- return -1;
-
- strncpy(input,e,sizeof(input));
- cp = input;
- memset(b, 0, sizeof(b));
- memset(out, 0, 8);
- for(i=0,p=0;i<6;i++,p+=11){
- while ((word = strsep(&cp, " ")) != NULL && *word == '\0')
- ;
- if (word == NULL)
- return -1;
- l = strlen(word);
- if(l > 4 || l < 1){
- return -1;
- } else if(l < 4){
- low = 0;
- high = 570;
- } else {
- low = 571;
- high = 2047;
- }
- standard(word);
- if( (v = wsrch(word,low,high)) < 0 )
- return 0;
- insert(b,v,(int)p,11);
- }
-
- /* now check the parity of what we got */
- for(p = 0, i = 0; i < 64; i +=2)
- p += extract(b, i, 2);
-
- if( (p & 3) != extract(b, 64,2) )
- return -2;
-
- memcpy(out,b,8);
-
- return 1;
-}
-/* Display 8 bytes as a series of 16-bit hex digits */
-char *
-put8(out,s)
-char *out;
-char *s;
-{
- sprintf(out,"%02X%02X %02X%02X %02X%02X %02X%02X",
- s[0] & 0xff,s[1] & 0xff,s[2] & 0xff,
- s[3] & 0xff,s[4] & 0xff,s[5] & 0xff,
- s[6] & 0xff,s[7] & 0xff);
- return out;
-}
-#ifdef notdef
-/* Encode 8 bytes in 'cp' as stream of ascii letters.
- * Provided as a possible alternative to btoe()
- */
-char *
-btoc(cp)
-char *cp;
-{
- int i;
- static char out[31];
-
- /* code out put by characters 6 bits each added to 0x21 (!)*/
- for(i=0;i <= 10;i++){
- /* last one is only 4 bits not 6*/
- out[i] = '!'+ extract(cp,6*i,i >= 10 ? 4:6);
- }
- out[i] = '\0';
- return(out);
-}
-#endif
-
-/* Internal subroutines for word encoding/decoding */
-
-/* Dictionary binary search */
-static int
-wsrch(w,low,high)
-char *w;
-int low, high;
-{
- int i,j;
-
- for(;;){
- i = (low + high)/2;
- if((j = strncmp(w,Wp[i],4)) == 0)
- return i; /* Found it */
- if(high == low+1){
- /* Avoid effects of integer truncation in /2 */
- if(strncmp(w,Wp[high],4) == 0)
- return high;
- else
- return -1;
- }
- if(low >= high)
- return -1; /* I don't *think* this can happen...*/
- if(j < 0)
- high = i; /* Search lower half */
- else
- low = i; /* Search upper half */
- }
-}
-static void
-insert(s, x, start, length)
-char *s;
-int x;
-int start, length;
-{
- unsigned char cl;
- unsigned char cc;
- unsigned char cr;
- unsigned long y;
- int shift;
-
- assert(length <= 11);
- assert(start >= 0);
- assert(length >= 0);
- assert(start +length <= 66);
-
- shift = ((8 -(( start + length) % 8))%8);
- y = (long) x << shift;
- cl = (y >> 16) & 0xff;
- cc = (y >> 8) & 0xff;
- cr = y & 0xff;
- if(shift + length > 16){
- s[start /8] |= cl;
- s[start/8 +1] |= cc;
- s[start/8 +2] |= cr;
- } else if(shift +length > 8){
- s[start/8] |= cc;
- s[start/8 + 1] |= cr;
- } else {
- s[start/8] |= cr;
- }
-}
-
-static void
-standard(word)
-register char *word;
-{
- while(*word){
- if(!isascii(*word))
- break;
- if(islower(*word))
- *word = toupper(*word);
- if(*word == '1')
- *word = 'L';
- if(*word == '0')
- *word = 'O';
- if(*word == '5')
- *word = 'S';
- word++;
- }
-}
-
-/* Extract 'length' bits from the char array 's' starting with bit 'start' */
-static unsigned long
-extract(s, start, length)
-char *s;
-int start, length;
-{
- unsigned char cl;
- unsigned char cc;
- unsigned char cr;
- unsigned long x;
-
- assert(length <= 11);
- assert(start >= 0);
- assert(length >= 0);
- assert(start +length <= 66);
-
- cl = s[start/8];
- cc = s[start/8 +1];
- cr = s[start/8 +2];
- x = ((long)(cl<<8 | cc) <<8 | cr) ;
- x = x >> (24 - (length + (start %8)));
- x =( x & (0xffff >> (16-length) ) );
- return(x);
-}
-
OpenPOWER on IntegriCloud