| | @@ -0,0 +1,292 @@ |
| 1 | +/*
|
| 2 | +** Copyright (c) 2008 D. Richard Hipp
|
| 3 | +**
|
| 4 | +** This program is free software; you can redistribute it and/or
|
| 5 | +** modify it under the terms of the Simplified BSD License (also
|
| 6 | +** known as the "2-Clause Licennse" or "FreeBSD License".)
|
| 7 | +** This program is distributed in the hope that it will be useful,
|
| 8 | +** but without any warranty; without even the implied warranty of
|
| 9 | +** merchantability or fitness for a particular purpose.
|
| 10 | +**
|
| 11 | +** Author contact information:
|
| 12 | +** [email protected]
|
| 13 | +** http://www.hwaci.com/drh/
|
| 14 | +**
|
| 15 | +*******************************************************************************
|
| 16 | +**
|
| 17 | +** This file contains the code to do mnemonic encoding of commit IDs. Theis taken from:
|
| 18 | +**
|
| 19 | +** https://github.com/singpolyma/mnemonicode
|
| 20 | +**
|
| 21 | +** The original code is MIT licensed, but this code uses a reimplementation
|
| 22 | +** from scratch anywaynly encode seven hex digits.
|
| 23 | +*/
|
| 24 | +
|
| 25 | +#include "config.h"
|
| 26 | +#include "mnemoni#define MN_REMAINDER 7
|
| 27 | +
|
| 28 | +static const char* basewordlist[MN_BASE] =
|
| 29 | +{
|
| 30 | + "ACADEMY", "ACROBAT", "ACTIVE", "ACTOR", "ADAM", "ADMIRAL",
|
| 31 | + "ADRIAN", "AFRICA", "AGENDA", "AGENT", "AIRLINE", "AIRPORT",
|
| 32 | + "ALADDIN", "ALARM", "ALASKA", "ALBERT", "ALBINO", "ALBUM",
|
| 33 | + "ALCOHOL", "ALEX", "ALGEBRA", "ALIBI", "ALICE", "ALIEN",
|
| 34 | + "ALPHA", "ALPINE", "AMADEUS", "AMANDA", "AMAZON", "AMBER",
|
| 35 | + "AMERICA", "AMIGO", "ANALOG", "ANATOMY", "ANGEL", "ANIMAL",
|
| 36 | + "ANTENNA", "ANTONIO", "APOLLO", "APRIL", "ARCHIVE", "ARCTIC",
|
| 37 | + "ARIZONA", "ARNOLD", "AROMA", "ARTHUR", "ARTIST", "ASIA",
|
| 38 | + "ASPECT", "ASPIRIN", "ATHENA", "ATHLETE", "ATLAS", "AUDIO",
|
| 39 | + "AUGUST", "AUSTRIA", "AXIOM", "AZTEC", "BALANCE", "BALLAD",
|
| 40 | + "BANANA", "BANDIT", "BANJO", "BARCODE", "BARON", "BASIC",
|
| 41 | + "BATTERY", "BELGIUM", "BERLIN", "BERMUDA", "BERNARD", "BIKINI",
|
| 42 | + "BINARY", "BINGO", "BIOLOGY", "BLOCK", "BLONDE", "BONUS",
|
| 43 | + "BORIS", "BOSTON", "BOXER", "BRANDY", "BRAVO", "BRAZIL",
|
| 44 | + "BRONZE", "BROWN", "BRUCE", "BRUNO", "BURGER", "BURMA",
|
| 45 | + "CABINET", "CACTUS", "CAFE", "CAIRO", "CAKE", "CALYPSO",
|
| 46 | + "CAMEL", "CAMERA", "CAMPUS", "CANADA", "CANAL", "CANNON",
|
| 47 | + "CANOE", "CANTINA", "CANVAS", "CANYON", "CAPITAL", "CARAMEL",
|
| 48 | + "CARAVAN", "CARBON", "CARGO", "CARLO", "CAROL", "CARPET",
|
| 49 | + "CARTEL", "CASINO", "CASTLE", "CASTRO", "CATALOG", "CAVIAR",
|
| 50 | + "CECILIA", "CEMENT", "CENTER", "CENTURY", "CERAMIC", "CHAMBER",
|
| 51 | + "CHANCE", "CHANGE", "CHAOS", "CHARLIE", "CHARM", "CHARTER",
|
| 52 | + "CHEF", "CHEMIST", "CHERRY", "CHESS", "CHICAGO", "CHICKEN",
|
| 53 | + "CHIEF", "CHINA", "CIGAR", "CINEMA", "CIRCUS", "CITIZEN",
|
| 54 | + "CITY", "CLARA", "CLASSIC", "CLAUDIA", "CLEAN", "CLIENT",
|
| 55 | + "CLIMAX", "CLINIC", "CLOCK", "CLUB", "COBRA", "COCONUT",
|
| 56 | + "COLA", "COLLECT", "COLOMBO", "COLONY", "COLOR", "COMBAT",
|
| 57 | + "COMEDY", "COMET", "COMMAND", "COMPACT", "COMPANY", "COMPLEX",
|
| 58 | + "CONCEPT", "CONCERT", "CONNECT", "CONSUL", "CONTACT", "CONTEXT",
|
| 59 | + "CONTOUR", "CONTROL", "CONVERT", "COPY", "CORNER", "CORONA",
|
| 60 | + "CORRECT", "COSMOS", "COUPLE", "COURAGE", "COWBOY", "CRAFT",
|
| 61 | + "CRASH", "CREDIT", "CRICKET", "CRITIC", "CROWN", "CRYSTAL",
|
| 62 | + "CUBA", "CULTURE", "DALLAS", "DANCE", "DANIEL", "DAVID",
|
| 63 | + "DECADE", "DECIMAL", "DELIVER", "DELTA", "DELUXE", "DEMAND",
|
| 64 | + "DEMO", "DENMARK", "DERBY", "DESIGN", "DETECT", "DEVELOP",
|
| 65 | + "DIAGRAM", "DIALOG", "DIAMOND", "DIANA", "DIEGO", "DIESEL",
|
| 66 | + "DIET", "DIGITAL", "DILEMMA", "DIPLOMA", "DIRECT", "DISCO",
|
| 67 | + "DISNEY", "DISTANT", "DOCTOR", "DOLLAR", "DOMINIC", "DOMINO",
|
| 68 | + "DONALD", "DRAGON", "DRAMA", "DUBLIN", "DUET", "DYNAMIC",
|
| 69 | + "EAST", "ECOLOGY", "ECONOMY", "EDGAR", "EGYPT", "ELASTIC",
|
| 70 | + "ELEGANT", "ELEMENT", "ELITE", "ELVIS", "EMAIL", "ENERGY",
|
| 71 | + "ENGINE", "ENGLISH", "EPISODE", "EQUATOR", "ESCORT", "ETHNIC",
|
| 72 | + "EUROPE", "EVEREST", "EVIDENT", "EXACT", "EXAMPLE", "EXIT",
|
| 73 | + "EXOTIC", "EXPORT", "EXPRESS", "EXTRA", "FABRIC", "FACTOR",
|
| 74 | + "FALCON", "FAMILY", "FANTASY", "FASHION", "FIBER", "FICTION",
|
| 75 | + "FIDEL", "FIESTA", "FIGURE", "FILM", "FILTER", "FINAL",
|
| 76 | + "FINANCE", "FINISH", "FINLAND", "FLASH", "FLORIDA", "FLOWER",
|
| 77 | + "FLUID", "FLUTE", "FOCUS", "FORD", "FOREST", "FORMAL",
|
| 78 | + "FORMAT", "FORMULA", "FORTUNE", "FORUM", "FRAGILE", "FRANCE",
|
| 79 | + "FRANK", "FRIEND", "FROZEN", "FUTURE", "GABRIEL", "GALAXY",
|
| 80 | + "GALLERY", "GAMMA", "GARAGE", "GARDEN", "GARLIC", "GEMINI",
|
| 81 | + "GENERAL", "GENETIC", "GENIUS", "GERMANY", "GLOBAL", "GLORIA",
|
| 82 | + "GOLF", "GONDOLA", "GONG", "GOOD", "GORDON", "GORILLA",
|
| 83 | + "GRAND", "GRANITE", "GRAPH", "GREEN", "GROUP", "GUIDE",
|
| 84 | + "GUITAR", "GURU", "HAND", "HAPPY", "HARBOR", "HARMONY",
|
| 85 | + "HARVARD", "HAVANA", "HAWAII", "HELENA", "HELLO", "HENRY",
|
| 86 | + "HILTON", "HISTORY", "HORIZON", "HOTEL", "HUMAN", "HUMOR",
|
| 87 | + "ICON", "IDEA", "IGLOO", "IGOR", "IMAGE", "IMPACT",
|
| 88 | + "IMPORT", "INDEX", "INDIA", "INDIGO", "INPUT", "INSECT",
|
| 89 | + "INSTANT", "IRIS", "ITALIAN", "JACKET", "JACOB", "JAGUAR",
|
| 90 | + "JANET", "JAPAN", "JARGON", "JAZZ", "JEEP", "JOHN",
|
| 91 | + "JOKER", "JORDAN", "JUMBO", "JUNE", "JUNGLE", "JUNIOR",
|
| 92 | + "JUPITER", "KARATE", "KARMA", "KAYAK", "KERMIT", "KILO",
|
| 93 | + "KING", "KOALA", "KOREA", "LABOR", "LADY", "LAGOON",
|
| 94 | + "LAPTOP", "LASER", "LATIN", "LAVA", "LECTURE", "LEFT",
|
| 95 | + "LEGAL", "LEMON", "LEVEL", "LEXICON", "LIBERAL", "LIBRA",
|
| 96 | + "LIMBO", "LIMIT", "LINDA", "LINEAR", "LION", "LIQUID",
|
| 97 | + "LITER", "LITTLE", "LLAMA", "LOBBY", "LOBSTER", "LOCAL",
|
| 98 | + "LOGIC", "LOGO", "LOLA", "LONDON", "LOTUS", "LUCAS",
|
| 99 | + "LUNAR", "MACHINE", "MACRO", "MADAM", "MADONNA", "MADRID",
|
| 100 | + "MAESTRO", "MAGIC", "MAGNET", "MAGNUM", "MAJOR", "MAMA",
|
| 101 | + "MAMBO", "MANAGER", "MANGO", "MANILA", "MARCO", "MARINA",
|
| 102 | + "MARKET", "MARS", "MARTIN", "MARVIN", "MASTER", "MATRIX",
|
| 103 | + "MAXIMUM", "MEDIA", "MEDICAL", "MEGA", "MELODY", "MELON",
|
| 104 | + "MEMO", "MENTAL", "MENTOR", "MENU", "MERCURY", "MESSAGE",
|
| 105 | + "METAL", "METEOR", "METER", "METHOD", "METRO", "MEXICO",
|
| 106 | + "MIAMI", "MICRO", "MILLION", "MINERAL", "MINIMUM", "MINUS",
|
| 107 | + "MINUTE", "MIRACLE", "MIRAGE", "MIRANDA", "MISTER", "MIXER",
|
| 108 | + "MOBILE", "MODEL", "MODEM", "MODERN", "MODULAR", "MOMENT",
|
| 109 | + "MONACO", "MONICA", "MONITOR", "MONO", "MONSTER", "MONTANA",
|
| 110 | + "MORGAN", "MOTEL", "MOTIF", "MOTOR", "MOZART", "MULTI",
|
| 111 | + "MUSEUM", "MUSIC", "MUSTANG", "NATURAL", "NEON", "NEPAL",
|
| 112 | + "NEPTUNE", "NERVE", "NEUTRAL", "NEVADA", "NEWS", "NINJA",
|
| 113 | + "NIRVANA", "NORMAL", "NOVA", "NOVEL", "NUCLEAR", "NUMERIC",
|
| 114 | + "NYLON", "OASIS", "OBJECT", "OBSERVE", "OCEAN", "OCTOPUS",
|
| 115 | + "OLIVIA", "OLYMPIC", "OMEGA", "OPERA", "OPTIC", "OPTIMAL",
|
| 116 | + "ORANGE", "ORBIT", "ORGANIC", "ORIENT", "ORIGIN", "ORLANDO",
|
| 117 | + "OSCAR", "OXFORD", "OXYGEN", "OZONE", "PABLO", "PACIFIC",
|
| 118 | + "PAGODA", "PALACE", "PAMELA", "PANAMA", "PANDA", "PANEL",
|
| 119 | + "PANIC", "PARADOX", "PARDON", "PARIS", "PARKER", "PARKING",
|
| 120 | + "PARODY", "PARTNER", "PASSAGE", "PASSIVE", "PASTA", "PASTEL",
|
| 121 | + "PATENT", "PATRIOT", "PATROL", "PATRON", "PEGASUS", "PELICAN",
|
| 122 | + "PENGUIN", "PEPPER", "PERCENT", "PERFECT", "PERFUME", "PERIOD",
|
| 123 | + "PERMIT", "PERSON", "PERU", "PHONE", "PHOTO", "PIANO",
|
| 124 | + "PICASSO", "PICNIC", "PICTURE", "PIGMENT", "PILGRIM", "PILOT",
|
| 125 | + "PIRATE", "PIXEL", "PIZZA", "PLANET", "PLASMA", "PLASTER",
|
| 126 | + "PLASTIC", "PLAZA", "POCKET", "POEM", "POETIC", "POKER",
|
| 127 | + "POLARIS", "POLICE", "POLITIC", "POLO", "POLYGON", "PONY",
|
| 128 | + "POPCORN", "POPULAR", "POSTAGE", "POSTAL", "PRECISE", "PREFIX",
|
| 129 | + "PREMIUM", "PRESENT", "PRICE", "PRINCE", "PRINTER", "PRISM",
|
| 130 | + "PRIVATE", "PRODUCT", "PROFILE", "PROGRAM", "PROJECT", "PROTECT",
|
| 131 | + "PROTON", "PUBLIC", "PULSE", "PUMA", "PYRAMID", "QUEEN",
|
| 132 | + "RADAR", "RADIO", "RANDOM", "RAPID", "REBEL", "RECORD",
|
| 133 | + "RECYCLE", "REFLEX", "REFORM", "REGARD", "REGULAR", "RELAX",
|
| 134 | + "REPORT", "REPTILE", "REVERSE", "RICARDO", "RINGO", "RITUAL",
|
| 135 | + "ROBERT", "ROBOT", "ROCKET", "RODEO", "ROMEO", "ROYAL",
|
| 136 | + "RUSSIAN", "SAFARI", "SALAD", "SALAMI", "SALMON", "SALON",
|
| 137 | + "SALUTE", "SAMBA", "SANDRA", "SANTANA", "SARDINE", "SCHOOL",
|
| 138 | + "SCREEN", "SCRIPT", "SECOND", "SECRET", "SECTION", "SEGMENT",
|
| 139 | + "SELECT", "SEMINAR", "SENATOR", "SENIOR", "SENSOR", "SERIAL",
|
| 140 | + "SERVICE", "SHERIFF", "SHOCK", "SIERRA", "SIGNAL", "SILICON",
|
| 141 | + "SILVER", "SIMILAR", "SIMON", "SINGLE", "SIREN", "SLOGAN",
|
| 142 | + "SOCIAL", "SODA", "SOLAR", "SOLID", "SOLO", "SONIC",
|
| 143 | + "SOVIET", "SPECIAL", "SPEED", "SPIRAL", "SPIRIT", "SPORT",
|
| 144 | + "STATIC", "STATION", "STATUS", "STEREO", "STONE", "STOP",
|
| 145 | + "STREET", "STRONG", "STUDENT", "STUDIO", "STYLE", "SUBJECT",
|
| 146 | + "SULTAN", "SUPER", "SUSAN", "SUSHI", "SUZUKI", "SWITCH",
|
| 147 | + "SYMBOL", "SYSTEM", "TACTIC", "TAHITI", "TALENT", "TANGO",
|
| 148 | + "TARZAN", "TAXI", "TELEX", "TEMPO", "TENNIS", "TEXAS",
|
| 149 | + "TEXTILE", "THEORY", "THERMOS", "TIGER", "TITANIC", "TOKYO",
|
| 150 | + "TOMATO", "TOPIC", "TORNADO", "TORONTO", "TORPEDO", "TOTAL",
|
| 151 | + "TOTEM", "TOURIST", "TRACTOR", "TRAFFIC", "TRANSIT", "TRAPEZE",
|
| 152 | + "TRAVEL", "TRIBAL", "TRICK", "TRIDENT", "TRILOGY", "TRIPOD",
|
| 153 | + "TROPIC", "TRUMPET", "TULIP", "TUNA", "TURBO", "TWIST",
|
| 154 | + "ULTRA", "UNIFORM", "UNION", "URANIUM", "VACUUM", "VALID",
|
| 155 | + "VAMPIRE", "VANILLA", "VATICAN", "VELVET", "VENTURA", "VENUS",
|
| 156 | + "VERTIGO", "VETERAN", "VICTOR", "VIDEO", "VIENNA", "VIKING",
|
| 157 | + "VILLAGE", "VINCENT", "VIOLET", "VIOLIN", "VIRTUAL", "VIRUS",
|
| 158 | + "VISA", "VISION", "VISITOR", "VISUAL", "VITAMIN", "VIVA",
|
| 159 | + "VOCAL", "VODKA", "VOLCANO", "VOLTAGE", "VOLUME", "VOYAGE",
|
| 160 | + "WATER", "WEEKEND", "WELCOME", "WESTERN", "WINDOW", "WINTER",
|
| 161 | + "WIZARD", "WOLF", "WORLD", "XRAY", "YANKEE", "YOGA",
|
| 162 | + "YOGURT", "YOYO", "ZEBRA", "ZERO", "ZIGZAG", "ZIPPER",
|
| 163 | + "ZODIAC", "ZOOM", "ABRAHAM", "ACTION", "ADDRESS", "ALABAMA",
|
| 164 | + "ALFRED", "ALMOND", "AMMONIA", "ANALYZE", "ANNUAL", "ANSWER",
|
| 165 | + "APPLE", "ARENA", "ARMADA", "ARSENAL", "ATLANTA", "ATOMIC",
|
| 166 | + "AVENUE", "AVERAGE", "BAGEL", "BAKER", "BALLET", "BAMBINO",
|
| 167 | + "BAMBOO", "BARBARA", "BASKET", "BAZAAR", "BENEFIT", "BICYCLE",
|
| 168 | + "BISHOP", "BLITZ", "BONJOUR", "BOTTLE", "BRIDGE", "BRITISH",
|
| 169 | + "BROTHER", "BRUSH", "BUDGET", "CABARET", "CADET", "CANDLE",
|
| 170 | + "CAPITAN", "CAPSULE", "CAREER", "CARTOON", "CHANNEL", "CHAPTER",
|
| 171 | + "CHEESE", "CIRCLE", "COBALT", "COCKPIT", "COLLEGE", "COMPASS",
|
| 172 | + "COMRADE", "CONDOR", "CRIMSON", "CYCLONE", "DARWIN", "DECLARE",
|
| 173 | + "DEGREE", "DELETE", "DELPHI", "DENVER", "DESERT", "DIVIDE",
|
| 174 | + "DOLBY", "DOMAIN", "DOMINGO", "DOUBLE", "DRINK", "DRIVER",
|
| 175 | + "EAGLE", "EARTH", "ECHO", "ECLIPSE", "EDITOR", "EDUCATE",
|
| 176 | + "EDWARD", "EFFECT", "ELECTRA", "EMERALD", "EMOTION", "EMPIRE",
|
| 177 | + "EMPTY", "ESCAPE", "ETERNAL", "EVENING", "EXHIBIT", "EXPAND",
|
| 178 | + "EXPLORE", "EXTREME", "FERRARI", "FIRST", "FLAG", "FOLIO",
|
| 179 | + "FORGET", "FORWARD", "FREEDOM", "FRESH", "FRIDAY", "FUJI",
|
| 180 | + "GALILEO", "GARCIA", "GENESIS", "GOLD", "GRAVITY", "HABITAT",
|
| 181 | + "HAMLET", "HARLEM", "HELIUM", "HOLIDAY", "HOUSE", "HUNTER",
|
| 182 | + "IBIZA", "ICEBERG", "IMAGINE", "INFANT", "ISOTOPE", "JACKSON",
|
| 183 | + "JAMAICA", "JASMINE", "JAVA", "JESSICA", "JUDO", "KITCHEN",
|
| 184 | + "LAZARUS", "LETTER", "LICENSE", "LITHIUM", "LOYAL", "LUCKY",
|
| 185 | + "MAGENTA", "MAILBOX", "MANUAL", "MARBLE", "MARY", "MAXWELL",
|
| 186 | + "MAYOR", "MILK", "MONARCH", "MONDAY", "MONEY", "MORNING",
|
| 187 | + "MOTHER", "MYSTERY", "NATIVE", "NECTAR", "NELSON", "NETWORK",
|
| 188 | + "NEXT", "NIKITA", "NOBEL", "NOBODY", "NOMINAL", "NORWAY",
|
| 189 | + "NOTHING", "NUMBER", "OCTOBER", "OFFICE", "OLIVER", "OPINION",
|
| 190 | + "OPTION", "ORDER", "OUTSIDE", "PACKAGE", "PANCAKE", "PANDORA",
|
| 191 | + "PANTHER", "PAPA", "PATIENT", "PATTERN", "PEDRO", "PENCIL",
|
| 192 | + "PEOPLE", "PHANTOM", "PHILIPS", "PIONEER", "PLUTO", "PODIUM",
|
| 193 | + "PORTAL", "POTATO", "PRIZE", "PROCESS", "PROTEIN", "PROXY",
|
| 194 | + "PUMP", "PUPIL", "PYTHON", "QUALITY", "QUARTER", "QUIET",
|
| 195 | + "RABBIT", "RADICAL", "RADIUS", "RAINBOW", "RALPH", "RAMIREZ",
|
| 196 | + "RAVIOLI", "RAYMOND", "RESPECT", "RESPOND", "RESULT", "RESUME",
|
| 197 | + "RETRO", "RICHARD", "RIGHT", "RISK", "RIVER", "ROGER",
|
| 198 | + "ROMAN", "RONDO", "SABRINA", "SALARY", "SALSA", "SAMPLE",
|
| 199 | + "SAMUEL", "SATURN", "SAVAGE", "SCARLET", "SCOOP", "SCORPIO",
|
| 200 | + "SCRATCH", "SCROLL", "SECTOR", "SERPENT", "SHADOW", "SHAMPOO",
|
| 201 | + "SHARON", "SHARP", "SHORT", "SHRINK", "SILENCE", "SILK",
|
| 202 | + "SIMPLE", "SLANG", "SMART", "SMOKE", "SNAKE", "SOCIETY",
|
| 203 | + "SONAR", "SONATA", "SOPRANO", "SOURCE", "SPARTA", "SPHERE",
|
| 204 | + "SPIDER", "SPONSOR", "SPRING", "ACID", "ADIOS", "AGATHA",
|
| 205 | + "ALAMO", "ALERT", "ALMANAC", "ALOHA", "ANDREA", "ANITA",
|
| 206 | + "ARCADE", "AURORA", "AVALON", "BABY", "BAGGAGE", "BALLOON",
|
| 207 | + "BANK", "BASIL", "BEGIN", "BISCUIT", "BLUE", "BOMBAY",
|
| 208 | + "BRAIN", "BRENDA", "BRIGADE", "CABLE", "CARMEN", "CELLO",
|
| 209 | + "CELTIC", "CHARIOT", "CHROME", "CITRUS", "CIVIL", "CLOUD",
|
| 210 | + "COMMON", "COMPARE", "COOL", "COPPER", "CORAL", "CRATER",
|
| 211 | + "CUBIC", "CUPID", "CYCLE", "DEPEND", "DOOR", "DREAM",
|
| 212 | + "DYNASTY", "EDISON", "EDITION", "ENIGMA", "EQUAL", "ERIC",
|
| 213 | + "EVENT", "EVITA", "EXODUS", "EXTEND", "FAMOUS", "FARMER",
|
| 214 | + "FOOD", "FOSSIL", "FROG", "FRUIT", "GENEVA", "GENTLE",
|
| 215 | + "GEORGE", "GIANT", "GILBERT", "GOSSIP", "GRAM", "GREEK",
|
| 216 | + "GRILLE", "HAMMER", "HARVEST", "HAZARD", "HEAVEN", "HERBERT",
|
| 217 | + "HEROIC", "HEXAGON", "HUSBAND", "IMMUNE", "INCA", "INCH",
|
| 218 | + "INITIAL", "ISABEL", "IVORY", "JASON", "JEROME", "JOEL",
|
| 219 | + "JOSHUA", "JOURNAL", "JUDGE", "JULIET", "JUMP", "JUSTICE",
|
| 220 | + "KIMONO", "KINETIC", "LEONID", "LIMA", "MAZE", "MEDUSA",
|
| 221 | + "MEMBER", "MEMPHIS", "MICHAEL", "MIGUEL", "MILAN", "MILE",
|
| 222 | + "MILLER", "MIMIC", "MIMOSA", "MISSION", "MONKEY", "MORAL",
|
| 223 | + "MOSES", "MOUSE", "NANCY", "NATASHA", "NEBULA", "NICKEL",
|
| 224 | + "NINA", "NOISE", "ORCHID", "OREGANO", "ORIGAMI", "ORINOCO",
|
| 225 | + "ORION", "OTHELLO", "PAPER", "PAPRIKA", "PRELUDE", "PREPARE",
|
| 226 | + "PRETEND", "PROFIT", "PROMISE", "PROVIDE", "PUZZLE", "REMOTE",
|
| 227 | + "REPAIR", "REPLY", "RIVAL", "RIVIERA", "ROBIN", "ROSE",
|
| 228 | + "ROVER", "RUDOLF", "SAGA", "SAHARA", "SCHOLAR", "SHELTER",
|
| 229 | + "SHIP", "SHOE", "SIGMA", "SISTER", "SLEEP", "SMILE",
|
| 230 | + "SPAIN", "SPARK", "SPLIT", "SPRAY", "SQUARE", "STADIUM",
|
| 231 | + "STAR", "STORM", "STORY", "STRANGE", "STRETCH", "STUART",
|
| 232 | + "SUBWAY", "SUGAR", "SULFUR", "SUMMER", "SURVIVE", "SWEET",
|
| 233 | + "SWIM", "TABLE", "TABOO", "TARGET", "TEACHER", "TELECOM",
|
| 234 | + "TEMPLE", "TIBET", "TICKET", "TINA", "TODAY", "TOGA",
|
| 235 | + "TOMMY", "TOWER", "TRIVIAL", "TUNNEL", "TURTLE", "TWIN",
|
| 236 | + "UNCLE", "UNICORN", "UNIQUE", "UPDATE", "VALERY", "VEGA",
|
| 237 | + "VERSION", "VOODOO", "WARNING", "WILLIAM", "WONDER", "YEAR",
|
| 238 | + "YELLOW", "YOUNG", "ABSENT", "ABSORB", "ACCENT", "ALFONSO",
|
| 239 | + "ALIAS", "AMBIENT", "ANDY", "ANVIL", "APPEAR", "APROPOS",
|
| 240 | + "ARCHER", "ARIEL", "ARMOR", "ARROW", "AUSTIN", "AVATAR",
|
| 241 | + "AXIS", "BABOON", "BAHAMA", "BALI", "BALSA", "BAZOOKA",
|
| 242 | + "BEACH", "BEAST", "BEATLES", "BEAUTY", "BEFORE", "BENNY",
|
| 243 | + "BETTY", "BETWEEN", "BEYOND", "BILLY", "BISON", "BLAST",
|
| 244 | + "BLESS", "BOGART", "BONANZA", "BOOK", "BORDER", "BRAVE",
|
| 245 | + "BREAD", "BREAK", "BROKEN", "BUCKET", "BUENOS", "BUFFALO",
|
| 246 | + "BUNDLE", "BUTTON", "BUZZER", "BYTE", "CAESAR", "CAMILLA",
|
| 247 | + "CANARY", "CANDID", "CARROT", "CAVE", "CHANT", "CHILD",
|
| 248 | + "CHOICE", "CHRIS", "CIPHER", "CLARION", "CLARK", "CLEVER",
|
| 249 | + "CLIFF", "CLONE", "CONAN", "CONDUCT", "CONGO", "CONTENT",
|
| 250 | + "COSTUME", "COTTON", "COVER", "CRACK", "CURRENT", "DANUBE",
|
| 251 | + "DATA", "DECIDE", "DESIRE", "DETAIL", "DEXTER", "DINNER",
|
| 252 | + "DISPUTE", "DONOR", "DRUID", "DRUM", "EASY", "EDDIE",
|
| 253 | + "ENJOY", "ENRICO", "EPOXY", "EROSION", "EXCEPT", "EXILE",
|
| 254 | + "EXPLAIN", "FAME", "FAST", "FATHER", "FELIX", "FIELD",
|
| 255 | + "FIONA", "FIRE", "FISH", "FLAME", "FLEX", "FLIPPER",
|
| 256 | + "FLOAT", "FLOOD", "FLOOR", "FORBID", "FOREVER", "FRACTAL",
|
| 257 | + "FRAME", "FREDDIE", "FRONT", "FUEL", "GALLOP", "GAME",
|
| 258 | + "GARBO", "GATE", "GIBSON", "GINGER", "GIRAFFE", "GIZMO",
|
| 259 | + "GLASS", "GOBLIN", "GOPHER", "GRACE", "GRAY", "GREGORY",
|
| 260 | + "GRID", "GRIFFIN", "GROUND", "GUEST", "GUSTAV", "GYRO",
|
| 261 | + "HAIR", "HALT", "HARRIS", "HEART", "HEAVY", "HERMAN",
|
| 262 | + "HIPPIE", "HOBBY", "HONEY", "HOPE", "HORSE", "HOSTEL",
|
| 263 | + "HYDRO", "IMITATE", "INFO", "INGRID", "INSIDE", "INVENT",
|
| 264 | + "INVEST", "INVITE", "IRON", "IVAN", "JAMES", "JESTER",
|
| 265 | + "JIMMY", "JOIN", "JOSEPH", "JUICE", "JULIUS", "JULY",
|
| 266 | + "JUSTIN", "KANSAS", "KARL", "KEVIN", "KIWI", "LADDER",
|
| 267 | + "LAKE", "LAURA", "LEARN", "LEGACY", "LEGEND", "LESSON",
|
| 268 | + "LIFE", "LIGHT", "LIST", "LOCATE", "LOPEZ", "LORENZO",
|
| 269 | + "LOVE", "LUNCH", "MALTA", "MAMMAL", "MARGO", "MARION",
|
| 270 | + "MASK", "MATCH", "MAYDAY", "MEANING", "MERCY", "MIDDLE",
|
| 271 | + "MIKE", "MIRROR", "MODEST", "MORPH", "MORRIS", "NADIA",
|
| 272 | + "NATO", "NAVY", "NEEDLE", "NEURON", "NEVER", "NEWTON",
|
| 273 | + "NICE", "NIGHT", "NISSAN", "NITRO", "NIXON", "NORTH",
|
| 274 | + "OBERON", "OCTAVIA", "OHIO", "OLGA", "OPEN", "OPUS",
|
| 275 | + "ORCA", "OVAL", "OWNER", "PAGE", "PAINT", "PALMA",
|
| 276 | + "PARADE", "PARENT", "PARstatic const char* extwordlist[MN_REMAINDER] =
|
| 277 | +{
|
| 278 | + "EGO", "FAX", "JET", "JOB", "RIO", "SKI",
|
| 279 | + "YES"
|
| 280 | +};
|
| 281 | +
|
| 282 | +/*
|
| 283 | +** String comparator which supports both '\0' and ' ' as a terminator
|
| 284 | +** character.
|
| 285 | +*/
|
| 286 | +
|
| 287 | +static int strspace.
|
| 288 | +*/
|
| 289 | +
|
| 290 | +static int strspecialcmp(const char* s1, const char* s2)
|
| 291 | +{
|
| 292 | + int |