/* -*-c-*-
*
- * $Id: des-mktab.c,v 1.1 1999/09/03 08:41:11 mdw Exp $
+ * $Id: des-mktab.c,v 1.5 2004/04/08 01:36:15 mdw Exp $
*
* Build combined S-P tables for DES
*
* (c) 1999 Straylight/Edgeware
*/
-/*----- Licensing notice --------------------------------------------------*
+/*----- Licensing notice --------------------------------------------------*
*
* This file is part of Catacomb.
*
* it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
- *
+ *
* Catacomb is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Library General Public
* License along with Catacomb; if not, write to the Free
* Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
* MA 02111-1307, USA.
*/
-/*----- Revision history --------------------------------------------------*
- *
- * $Log: des-mktab.c,v $
- * Revision 1.1 1999/09/03 08:41:11 mdw
- * Initial import.
- *
- */
-
/*----- Header files ------------------------------------------------------*/
#include <stdarg.h>
/* --- S boxes --- */
-static char s[8][4][16] = {
+static const char s[8][4][16] = {
/* --- S1 --- */
* unique.
*/
-static int unique(char *t, int base, int sz, const char *name, ...)
+static int unique(const char *t, int base, int sz, const char *name, ...)
{
char u[32];
char nbuf[128];
validate();
fputs("\
-/* DES SP table (generated) */\n\
+/* -*-c-*-\n\
+ *\n\
+ * DES tables [generated]\n\
+ */\n\
+\n\
+#ifndef CATACOMB_DES_TAB_H\n\
+#define CATACOMB_DES_TAB_H\n\
\n\
#define DES_SP { \\\n\
", stdout);
for (j = 0; j < 64; j++) {
printf("%s0x%08lx", sep, ss[j]);
if (j % 4 == 3)
- sep = ", \\\n ";
+ sep = ", \\\n ";
else
sep = ", ";
}
- printf(" }%s \\\n", i == 7 ? "" : ",");
+ printf(" }%s \\\n", i == 7 ? "" : ",");
}
- fputs("}\n", stdout);
+ fputs("\
+}\n\
+\n\
+#endif\n\
+", stdout);
+
+ if (fclose(stdout)) {
+ fprintf(stderr, "error writing data\n");
+ exit(EXIT_FAILURE);
+ }
+
return (0);
}