chiark / gitweb /
algorithms.py: Cope better with algs with funny characters in their names.
[catacomb-python] / algorithms.py
index a7a2caab8ce952e81180efee68a9ec3845d65038..4a47dc7d9a6e81f0b8b64bb41968912f1f4f52d7 100644 (file)
@@ -52,16 +52,16 @@ print '/* algorithms.h [generated] */'
 print
 
 for i in prps:
 print
 
 for i in prps:
-  print '#include <catacomb/%s.h>' % i
+  print '#include <catacomb/%s.h>' % i.replace('/', '-')
   for j in pmodes:
   for j in pmodes:
-    print '#include <catacomb/%s-%s.h>' % (i, j)
+    print '#include <catacomb/%s-%s.h>' % (i.replace('/', '-'), j)
 for i in streamciphers:
 for i in streamciphers:
-  print '#include <catacomb/%s.h>' % i
+  print '#include <catacomb/%s.h>' % i.replace('/', '-')
 print
 for i in hashes:
 print
 for i in hashes:
-  print '#include <catacomb/%s.h>' % i
+  print '#include <catacomb/%s.h>' % i.replace('/', '-')
   for j in hmodes:
   for j in hmodes:
-    print '#include <catacomb/%s-%s.h>' % (i, j)
+    print '#include <catacomb/%s-%s.h>' % (i.replace('/', '-'), j)
 print
 
 print '#define PRPS(_) \\'
 print
 
 print '#define PRPS(_) \\'
@@ -72,13 +72,15 @@ print
 
 print '#define RNGS(_) \\'
 for i in (cross(prps, ['ofb', 'counter'])):
 
 print '#define RNGS(_) \\'
 for i in (cross(prps, ['ofb', 'counter'])):
-  print ('\t_("%(prim)s-%(mode)s", %(prim)s_keysz, ' +
-         '%(prim)s_%(mode)srand, RNG_PLAIN, 0) \\') % \
-         {'prim': i[0], 'mode': i[1]}
+  print ('\t_("%(prim)s-%(mode)s", %(primid)s_keysz, ' +
+         '%(primid)s_%(mode)srand, RNG_PLAIN, 0) \\') % \
+         {'prim': i[0], 'mode': i[1],
+          'primid': i[0].replace('-', '_').replace('/', '_')}
 for i in (cross(hashes, 'mgf')):
 for i in (cross(hashes, 'mgf')):
-  print ('\t_("%(prim)s-%(mode)s", %(prim)s_%(mode)skeysz, ' +
-         '%(prim)s_%(mode)srand, RNG_PLAIN, 0) \\') % \
-         {'prim': i[0], 'mode': i[1]}
+  print ('\t_("%(prim)s-%(mode)s", %(primid)s_%(mode)skeysz, ' +
+         '%(primid)s_%(mode)srand, RNG_PLAIN, 0) \\') % \
+         {'prim': i[0], 'mode': i[1],
+          'primid': i[0].replace('-', '_').replace('/', '_')}
 print '\t_("rc4", rc4_keysz, rc4_rand, 0, 0) \\'
 print '\t_("seal", seal_keysz, seal_rand, RNG_SEAL, 0) \\'
 for i in latindances:
 print '\t_("rc4", rc4_keysz, rc4_rand, 0, 0) \\'
 print '\t_("seal", seal_keysz, seal_rand, RNG_SEAL, 0) \\'
 for i in latindances: