blob: 59ab874e3705edc10e8768e4d697d15c0e0198f4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#define DEFAULT_GRAMMAR "Cvccvc!##"
/* Use some static buffers to avoid malloc */
#define STATIC_BUFFER_SIZE 24
/*
* For vowels:
* i, o excluded due to potentially confusing 1/l/i + 0/o
* y included as a vowel because it kinda is one
* The real vowels are a separate class, 'x' just in case
*/
#define ALPHABET "abcdefghijklmnopqrstuvwxyz"
#define NUMBERS "1234567890"
#define SYMBOLS "@#$%^&*_-+=()[]{}"
#define CLASSES \
CLASS('v', "aeuy") \
CLASS('c', "bcdfghkmnprstvwxz") \
CLASS('#', NUMBERS) \
CLASS('!', SYMBOLS) \
CLASS('l', ALPHABET) \
CLASS('a', ALPHABET NUMBERS) \
CLASS('b', ALPHABET NUMBERS SYMBOLS) \
CLASS('x', "aeiou")
/*
* Rationale for the combinations:
* l => 'letters'
* a => 'alphanumeric'
* b => 'all', but 'a' already taken so 'b'
*/
|