summaryrefslogtreecommitdiff
path: root/src/tools/apinames.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/apinames.c')
-rw-r--r--src/tools/apinames.c27
1 files changed, 20 insertions, 7 deletions
diff --git a/src/tools/apinames.c b/src/tools/apinames.c
index e1b085172..8c395aea3 100644
--- a/src/tools/apinames.c
+++ b/src/tools/apinames.c
@@ -22,8 +22,10 @@
#include <string.h>
#include <ctype.h>
+#include "vms_shorten_symbol.c"
+
#define PROGRAM_NAME "apinames"
-#define PROGRAM_VERSION "0.4"
+#define PROGRAM_VERSION "0.5"
#define LINEBUFF_SIZE 1024
@@ -214,12 +216,23 @@ names_dump( FILE* out,
break;
case OUTPUT_VMS_OPT:
- fprintf( out, "GSMATCH=LEQUAL,2,0\n"
- "CASE_SENSITIVE=YES\n"
- "SYMBOL_VECTOR=(-\n" );
- for ( nn = 0; nn < num_names - 1; nn++ )
- fprintf( out, " %s=PROCEDURE,-\n", the_names[nn].name );
- fprintf( out, " %s=PROCEDURE)\n", the_names[num_names - 1].name );
+ fprintf( out, "case_sensitive=YES\n" );
+
+ for ( nn = 0; nn < num_names; nn++ )
+ {
+ char short_symbol[32];
+
+
+ if ( vms_shorten_symbol( the_names[nn].name, short_symbol, 1 ) == -1 )
+ panic( "could not shorten name '%s'", the_names[nn].name );
+ fprintf( out, "symbol_vector = ( %s = PROCEDURE)\n", short_symbol );
+
+ strcat( the_names[nn].name , "64__" );
+
+ if ( vms_shorten_symbol( the_names[nn].name, short_symbol, 1 ) == -1 )
+ panic( "could not shorten name '%s'", the_names[nn].name );
+ fprintf( out, "symbol_vector = ( %s = PROCEDURE)\n", short_symbol );
+ }
break;