/* Program for random Names */ /* (C)Copyright 1988 by Lars Thuring */ /* May be freely distributed and used for any purpose as long as the Copyright notice is left unchanged. */ /* 880620 V1.0 First; names ported from Metric 8's (CP/M). About 10 % of the names are from Travesty. */ /* 880911 V1.1 bugs removed. */ /* To do: replace the RANDOM function */ #include #include "MakeName.h" #define GIRLS (sizeof(Girls)/sizeof(UBYTE *)) #define BOYS (sizeof(Boys)/sizeof(UBYTE *)) #define LASTS (sizeof(Last)/sizeof(UBYTE *)) #define RANDOM (USHORT) (emaNdesUtoN += 121 )&511 int emaNdesUtoN = 17; /* A not so random number */ extern UBYTE *stpcpy(); int MakeName(result, func, sex) /* What this is */ UBYTE *result; /* Where to put result */ USHORT func, /* What is wanted by caller */ sex; /* */ { static UBYTE *Girls[] = { "Acie", "Adele", "Adeleide", "Adelila", "Adina", "Afton", "Aftonia", "Agnes", "Aina", "Alexandra", "Alice", "Alireza", "Amanda", "Amii", "Amy", "Andromeda", "Angela", "Angelica", "Anirul", "Ann", "Annabel", "Anne", "Anneka", "Annie", "Antonia", "Arlen", "Arlene", "Asa", "Astra", "Athana", "Babis", "Barbara", "Barbi", "Beatrice", "Beatricia", "Belinda", "Bertha", "Beth", "Betty", "Billie", "Bim", "Bitte", "Bodica", "Bodil", "Boel", "Brenda", "Briella", "Brigitte", "Bunnie", "Caiza", "Cajsa", "Caria", "Carisa", "Carla", "Carmen", "Cathea", "Carole", "Caroline", "Carolita", "Cat", "Catha", "Cathea", "Catherine", "Cathy", "Cecilia", "Chao", "Charlotte", "Charyn", "Cherie", "Cherry", "Cheryl", "Chrebelia", "Christine", "Chryssie", "Chrystle", "Cina", "Cinderella", "Cindy", "Connie", "Constanzia", "Cvilin", "Daisie", "Dana", "Danuta", "Dar", "Dawn", "Deborah", "Debra", "Dee", "Delicath", "Delila", "Denise", "Desire", "Diana", "Dionne", "Dionneka", "Disa", "Dobora", "Dollie", "Donna", "Dora", "Dorace", "Doreen", "Doreena", "Doris", "Dorothea", "Dorothy", "Eilen", "Elica", "Elin", "Elisabeth", "Elisha", "Elissa", "Eliza", "Ellen", "Ellie", "Elsie", "Emanuelle", "Emanuta", "Emy", "Erika", "Erina", "Eve", "Ewe", "Fay", "Felicy", "Florah", "Floreen", "Florens", "Franciska", "Friday", "Gabriella", "Gelina", "Georgia", "Gigi", "Gilda", "Gina", "Gisella", "Git", "Grace", "Grete", "Gwen", "Hanna", "Hariet", "Hazel", "Heidi", "Hekla", "Helena", "Helene", "Hereza", "Hrefna", "Ilia", "Iliona", "Inga", "Ingela", "Ingrid", "Irene", "Irina", "Iris", "Isadora", "Jana", "Jane", "Janet", "Janicke", "Janina", "Janni", "Jennifer", "Jenny", "Jessica", "Jill", "Joan", "Jolene", "Juana", "Juanita", "Judy", "Julie", "June", "Karen", "Karensia", "Katalica", "Katarina", "Kathleen", "Katinka", "Katja", "Kelly", "Kia", "Kim", "Lana", "Laila", "Laura", "Leia", "Lena", "Lesa", "Letia", "Li", "Lilly", "Linda", "Lindane", "Lindy", "Ling", "Lisa", "Lisbeth", "Lisha", "Liv", "Liza", "Lo", "Lola", "Lone", "Loraine", "Lori", "Lotta", "Lousie", "Lucia", "Lucy", "Ludmilla", "Magdalena", "Maggie", "Mahelia", "Maia", "Malin", "Malou", "Malousie", "Marcia", "Margot", "Margret", "Mari", "Maria", "Mariana", "Marianne", "Marie", "Marilyn", "Marina", "Marita", "Marith", "Marlene", "Marlotta", "Martha", "Mary", "May", "Meg", "Melissa", "Meliza", "Melody", "Mia", "Mika", "Mikaela", "Mindy", "Minnie", "Miriam", "Modesty", "Monica", "Monique", "Nadia", "Nadine", "Nancy", "Nanette", "Nanna", "Natalia", "Nathalie", "Narelle", "Nellie", "Nena", "Neutricia", "Nicole", "Nina", "Nora", "Olga", "Olivia", "Pam", "Pamela", "Patricia", "Patty", "Paula", "Paule", "Peggy", "Pia", "Petra", "Pris", "Priscilla", "Qrissie", "Racey", "Randy", "Rebecca", "Rhoda", "Ria", "Rita", "Roberta", "Rodica", "Rose", "Rosita", "Roxanda", "Roxandy", "Roxanne", "Ruth", "Ruzica", "Saga", "Sally", "Samantha", "Sandra", "Sarah", "Scase", "Schwester", "Sharon", "Sharyn", "Sheena", "Sheila", "Shirlen", "Shirley", "Sireza", "Siri", "Sita", "Slavisa", "Sonia", "Sophie", "Stasia", "Stella", "Stellie", "Stephania", "Stephanie", "Stevie", "Sue", "Susan", "Susie", "Svetlana", "Sylvie", "Taarna", "Tammy", "Tania", "Terry", "Theofania", "Therese", "Thereza", "Therine", "Thlena", "Tina", "Titti", "Toni", "Tracey", "Tricia", "Ursula", "Valerie", "Valexanda", "Vega", "Vera", "Vicky", "Victoria", "Vladeta", "Voux", "Wanda", "Wendy", "Xandra", "Xanna", "Xarah", "Yeane", "Yeanet", "Yrsa", "Yvette", "Zandra", "Zarah", "Zora", }; static UBYTE *Boys[] = { "Abraham", "Ace", "Adam", "Adins", "Adolf", "Albert", "Alexander", "Alfred", "Allan", "Alph", "Amadeus", "Anatolij", "Andrea", "Andrew", "Andrzej", "Andy", "Anton", "Arichris", "Arny", "Artheils", "Arthur", "August", "Balder", "Barry", "Bartholomy", "Belouis", "Ben", "Benny", "Bereket", "Bert", "Bertrand", "Billy", "Bo", "Bob", "Bobba", "Bobby", "Borgen", "Boris", "Brian", "Bruce", "Byggart", "Caiser", "Carl", "Casper", "Castor", "Ceasar", "Cecil", "Chagart", "Chan", "Chanustvan", "Charlie", "Chen", "Ching", "Chris", "Christopher", "Chuck", "Clark", "Cole", "Colin", "Conrad", "Cryt", "Cztan", "Dan", "Danny", "Dante", "Dave", "David", "Davy", "Derek", "Del", "Desmond", "Deuincard", "Dino", "Djehuty", "Don", "Donny", "Douglas", "Duch", "Duncan", "Ector", "Ed", "Eddie", "Edgar", "Edinus", "Edrick", "Edward", "Egon", "Egor", "Enrico", "Eremir", "Erik", "Erloff", "Erland", "Ernst", "Errol", "Erwin", "Eugene", "Euie", "Feodor", "Fermo", "Finn", "Fjodor", "Force", "Ford", "Frank", "Frankie", "Frans", "Fred", "Fredrik", "Frekenlof", "Fritz", "Gantigor", "Gary", "George", "Gert", "Gregor", "Gregory", "Greville", "Guerew", "Guerney", "Gustaf", "Gustanislav", "Hagar", "Hakki", "Han", "Hank", "Hans", "Harold", "Harry", "Heinrich", "Heinz", "Henry", "Herman", "Horace", "Horst", "Hubengt", "Hubert", "Huck", "Ian", "Ianislav", "Ibraim", "Icchok", "Igor", "Istvan", "Ivan", "Ivo", "Jack", "Jacob", "Jacobby", "Jalob", "James", "Jan", "Janus", "Jason", "Jean", "Jens", "Jeremia", "Jerry", "Jim", "Joakim", "Jock", "Joe", "Johann", "John", "Jon", "Jonalder", "Jonas", "Jonny", "Jonriste", "Josef", "Josefan", "Joshua", "Joss", "Juan", "Julfgart", "Julius", "Jupiter", "Jurgen", "Juri", "Kard", "Karsten", "Keith", "Keik", "Kendrick", "Kent", "Kirk", "Klaus", "Kurge", "Kurgenn", "Kurt", "Kyle", "Kwan", "Lando", "Lance", "Larry", "Larth", "Lekakon", "Lennart", "Leon", "Leonard", "Leonid", "Leopold", "Lev", "Liet", "Linus", "Lionell", "Lober", "Lonnie", "Lou", "Louie", "Ludomir", "Ludwig", "Lucah", "Luke", "Lywas", "Magnus", "Manfred", "Manuel", "Marcus", "Marek", "Mark", "Marstvanie", "Martin", "Marty", "Marvin", "Marvince", "Matz", "Mattheo", "Matthew", "Max", "Menachin", "Michael", "Micah", "Mihail", "Mikael", "Milan", "Mitchell", "Mordred", "Napoleon", "Nathan", "Neil", "Nreda", "Nike", "Niklaus", "Nils", "Nolan", "Norman", "Nyls", "Oliver", "Oloda", "Ontitrew", "Oscar", "Otto", "Ozwald", "Pat", "Patrichail", "Patrick", "Patrico", "Paul", "Per", "Percy", "Perez", "Pete", "Peter", "Petri", "Petrov", "Philip", "Piotr", "Platon", "Prozka", "Rachantor", "Raija", "Raim", "Ralph", "Randolph", "Rankon", "Ray", "Reynold", "Rickard", "Rex", "Robert", "Rod", "Rodrick", "Rodriguez", "Roger", "Roman", "Romeo", "Ronald", "Ronnie", "Ruben", "Rudolph", "Rupert", "Sam", "Samarcy", "Sean", "Seandred", "Sebahat", "Sedilow", "Sentibon", "Simon", "Sokrates", "Song", "Staf", "Stanislav", "Stanley", "Stefano", "Stern", "Steve", "Stephen", "Steyern", "Sven", "Swan", "Swaron", "Tadeus", "Theo", "Thomas", "Tigran", "Tim", "Timmothy", "Toldeus", "Tolino", "Tom", "Tommy", "Tsan", "Tyko", "Ukriel", "Ulph", "Uno", "Ustalij", "Valentino", "Viktor", "Vince", "Vladimir", "Vlado", "Vodrick", "Walph", "Walter", "Wenlon", "Werner", "Wernst", "William", "Winston", "Wolfgang", "Wytt", "Xavier", "Xerxes", "Xin", "Xodrick", "Yaspar", "Yerr", "Yonndan", "Yosin", "Yrtvar", "Zaqarias", "Zjell", "Zjerez", "Zkelly", "Zor", "Ztanton", "Zwen", }; static UBYTE *Last[] = { "Acerin", "Ahim", "Ahino", "Ajbeam", "Aldersson", "Allan", "Altenfelt", "Amour", "Ancherinsky", "Andersson", "Azid", "Aztec", "Austinn", "Bak", "Banner", "Bazar", "Beachsleeper", "Beluni", "Belt", "Benson", "Brenner", "Birdsong", "Black", "Boot", "Boq", "Bowman", "Brewas", "Bronering", "Brown", "Buckman", "Burst", "Butterworth", "Cabrini", "Calrisen", "Carlton", "Carpenter", "Ceilo", "Cerewman", "Cerial", "Ceringer", "Cersjavv", "Chessman", "Chest", "Cicero", "Cinger", "Citz", "Comet", "Coneyervie", "Connor", "Coral", "Crabb", "Craydon", "Creditmaker", "Creek", "Crewman", "Crodden", "Dantman", "Dean", "Degalaxian", "Denocharsky", "Denulallan", "Dew", "Dezzabo", "Dhrystone", "Dimitrov", "Donovan", "Doublestar", "Drake", "Dweller", "Eagle", "Earjun", "Earthson", "Earton", "Effing", "Erakel", "Essin", "Eufreim", "Evody", "Ezhariann", "Farahd", "Ferraro", "Fighter", "Finkel", "Fisher", "Florian", "Flower", "Flynn", "Ford", "Fox", "Franklin", "Frewie", "Gack", "Gail", "Gheenili", "Ghoerrgh", "Gionetti", "Glava", "Gold", "Goldberg", "Goodaim", "Goodder", "Goodman", "Goodweather", "Gordon", "Gosneti", "Gosnil", "Gravatte", "Green", "Hadji", "Hagar", "Halfmoon", "Hallanchu", "Hallway", "Hamilton", "Harding", "Hargarjumoongdoray", "Harmony", "Harryson", "Hauptcvard", "Heywiss", "Hiker", "Hill", "Hogan", "Honeybin", "Honeydew", "Hoper", "Hornetsnest", "Ianiskov", "Idento", "Ingonti", "Ionsson", "Ixat", "Jade", "Jeser", "Jewel", "Jofo", "Johnsson", "Johnsdaughter", "Jones", "Jonydew", "Jong", "Joygiver", "Joysony", "Jumour", "Junone", "Kahn", "Kahl", "Kaido", "Kainor", "Kasasov", "Kernigan", "Khild", "Khilinovich", "Khy", "King", "Kirley", "Kneecup", "Krakov", "Kvov", "Kwang", "Landerring", "Langer", "Laser", "Laxiander", "Leffler", "Lexander", "Lichentheim", "Lifeadder", "Lifeat", "Lipoli", "Lockander", "Lojiues", "Lorakel", "Loudrope", "Lovefull", "Loveletter", "Luckring", "Lutihs", "Ly", "Manger", "Mannight", "Manning", "Margarin", "Massart", "Maxwell", "Mcgarret", "Mckelly", "Meiper", "Menom", "Meyer", "Michailov", "Micharman", "Mindfull", "Ming", "Mips", "Mnoir", "Mnolwan", "Mono", "Moonrue", "Moonsinger", "Moonstone", "Mordinger", "Morningdew", "Muchsword", "Muhammed", "Muharmann", "Napuce", "Nebulae", "Nestor", "Ngomo", "Nix", "Nokillis", "Nokin", "Nokinderch", "Nolan", "Northbranch", "Oedor", "Occam", "Ongstrom", "Oven", "Oysterman", "Ox", "Palsystem", "Parth", "Parton", "Pascal", "Pascanlon", "Peck", "Perrin", "Persson", "Pfaifer", "Pilotman", "Piper", "Pointer", "Potter", "Principal", "Probxs", "Pulsar", "Qeres", "Quatro", "Quasar", "Qwait", "Radannel", "Rawanna", "Redanel", "Reinstrom", "Rejgun", "Renqiong", "Ringer", "Rinneyell", "Ritchie", "Rijas", "Robins", "Rocktree", "Round", "Rymer", "Sagil", "Saunder", "Sayed", "Scanlon", "Screy", "Scythe", "Scotch", "Scott", "Seablue", "Searsia", "Searunner", "Seddije", "Sefex", "Seliah", "Senkaido", "Serenson", "Servin", "Shenulaxiah", "Shepherd", "Shinomoto", "Shipman", "Shuttle", "Sing", "Skynote", "Smith", "Southstar", "Spearthrower", "Starbeam", "Starjumper", "Starlight", "Starman", "Staryell", "Statler", "Staunton", "Stein", "Stern", "Stephenson", "Stewart", "Strawberry", "Sulimani", "Sunday", "Sunmedoedaught", "Sunmeyer", "Sunrise", "Sunshine", "Swetidov", "Swinger", "Szinsky", "Taipi", "Tait", "Tanner", "Tal", "Techu", "Thebah", "Temple", "Tiblis", "Tirpitz", "Tjebyshev", "Toolmaker", "Tough", "Traveller", "Turner", "Tyler", "Uanarish", "Ubbanen", "Upholder", "Upperhand", "Vainray", "Vajsii", "Vloda", "Vier", "Volt", "Walker", "Wall", "Walsh", "Wanderer", "Warmaker", "Waverider", "Westling", "Whetstone", "Wilde", "Wintergate", "Wiper", "Wirth", "Witter", "Wonderchild", "Wood", "Woolwinder", "Wrongdoer", "Wusser", "Wynn", "Xann", "Xathroda", "Xavier", "Xyperia", "Yoke", "Yuwing", "Zahnen", "Zaks", "Zandor", "Zargon", "Zemin", "Zollman", "Zax", }; int Error=NULL; /* Return code */ USHORT a = RANDOM; if (func & TITLENAME) /* The only way to determine sex */ { /* with some names ... */ if (sex & BOYNAME) result = stpcpy(result, "Mr "); else { if (func & MARRIEDNAME) result = stpcpy(result, "Mrs "); else result = stpcpy(result, "Ms "); } } if (func & FIRSTNAME) { if (sex & GIRLNAME) { while (a > GIRLS) a = RANDOM; result = stpcpy(result,Girls[a]); a = RANDOM; } else if (sex & BOYNAME) { while (a > BOYS) a = RANDOM; result = stpcpy(result,Boys[a]); a = RANDOM; } } if (func & LASTNAME) { if (func & FIRSTNAME) *result++ = ' '; while (a > LASTS) a = RANDOM; result = stpcpy(result,Last[a]); a = RANDOM; } *result = '\0'; return(Error); } /* End of MakeName() */