12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- /*
- * VMS Message Source File Generator.
- *
- * 2007-01-29 SMS.
- *
- * Generates a VMS error message source file from data in "ziperr.h".
- *
- * On a VMS system, the standard builders should do the work. On a
- * non-VMS system:
- *
- * cc -I. vms/vms_msg_gen.c -o vms_msg_gen
- * ./vms_msg_gen > vms/zip_msg.msg
- * rm ./vms_msg_gen
- */
- #include <stdio.h>
- #include <string.h>
- #define GLOBALS /* Include data for ziperrors[] in ziperr.h. */
- #include "ziperr.h"
- main()
- {
- int base_prev;
- int code_vms;
- int code_zip;
- int i;
- char *sev_str[ 8] = {
- "/WARNING",
- "/SUCCESS",
- "/ERROR",
- "/INFORMATIONAL",
- "/FATAL",
- "/??????",
- "/???????",
- "/????????"
- };
- char *text1[] = {
- "! VMS Error Message Source File for Zip",
- "!",
- "! Because the facility code was formally assigned by HP, the .FACILITY",
- "! directive below specifies /SYSTEM. Because the messages are, in",
- "! general, specific to Zip, this file is not compiled with /SHARED.",
- "! For example:",
- "!",
- "! MESSAGE /OBJECT = [.dest]ZIP_MSG.OBJ /NOSYMBOLS [.VMS]ZIP_MSG.MSG",
- "!",
- "! LINK /SHAREABLE = [.dest]ZIP_MSG.EXE [.dest]ZIP_MSG.OBJ",
- "!",
- "!-----------------------------------------------------------------------",
- "",
- ".TITLE Info-ZIP Zip Error Messages",
- ".FACILITY IZ_ZIP, 1955 /SYSTEM",
- NULL /* End-of-text marker. */
- };
- /* Initialize the .BASE counter. */
- base_prev = -2;
- /* Put out the header text. */
- for (i = 0; text1[ i] != NULL; i++)
- {
- printf( "%s\n", text1[ i]);
- }
- printf( ".IDENT '%s'\n", VMS_MSG_IDENT);
- printf( "\n");
- /* Put out the error messages. */
- for (code_zip = 0; code_zip <= ZE_MAXERR; code_zip++)
- {
- if ((ziperrors[ code_zip].string != NULL) &&
- (strlen(ziperrors[ code_zip].string) != 0))
- {
- code_vms = 2* code_zip; /* 4-bit left-shift, not 3. */
- if (code_vms != base_prev+ 1)
- {
- printf( ".BASE %d\n", code_vms);
- }
- printf( "%-7s %-13s <%s>\n",
- ziperrors[ code_zip].name,
- sev_str[ ziperrors[ code_zip].severity & 0x07],
- ziperrors[ code_zip].string);
- base_prev = code_vms;
- }
- }
- /* Put out the .END directive. */
- printf( "\n");
- printf( ".END\n");
- }
|