13 /* Mysprint() stores the string directly in the string_arae. This saves
14 * a copy action. It is assumed that the strings stored in the string-table
15 * are never longer than MAXSTRLEN bytes.
18 #define MAXSTRLEN 1024
22 static int mysprint(char *fmt, ...)
28 while (string + MAXSTRLEN - string_area > size_string)
30 retval = _format(string, fmt, args);
31 string[retval] = '\0';
37 static int mysprint(va_alist)
45 fmt = va_arg(args, char *);
46 while (string + MAXSTRLEN - string_area > size_string)
48 retval = _format(string, fmt, args);
49 string[retval] = '\0';
55 /* The extnd_*()s make a name unique. The resulting string is directly stored
56 * in the symbol_table (by mysprint()). Later additional fields in the
57 * symbol_table are filled. For these actions the values of the index in
58 * the symbol_table and the length of the string are stored.
61 extern int string_lengte, index_symbol_table;
64 char *extnd_pro( prcno)
67 string_lengte = mysprint( "%cprc%d", GENLAB, prcno);
68 index_symbol_table = find_sym( string, STORE_STRING);
69 return( symbol_table[ index_symbol_table].on_foff + string_area);
73 char *extnd_start( prcno)
76 string_lengte = mysprint( "%cstrt%d", GENLAB, prcno);
77 index_symbol_table = find_sym( string, STORE_STRING);
78 return( symbol_table[ index_symbol_table].on_foff + string_area);
85 string_lengte = mysprint( NAME_FMT, s);
86 index_symbol_table = find_sym( string, STORE_STRING);
87 return( string_area + symbol_table[ index_symbol_table].on_foff);
94 string_lengte = mysprint( DNAM_FMT, s);
95 index_symbol_table = find_sym( string, STORE_STRING);
96 return( symbol_table[ index_symbol_table].on_foff + string_area);
103 string_lengte = mysprint( DLB_FMT, (long)g);
104 index_symbol_table = find_sym( string, STORE_STRING);
105 return( symbol_table[ index_symbol_table].on_foff + string_area);
109 char *extnd_ilb( l, prcno)
112 string_lengte = mysprint( ILB_FMT, prcno, (long) l);
113 index_symbol_table = find_sym( string, STORE_STRING);
114 return( symbol_table[ index_symbol_table].on_foff + string_area);
118 char *extnd_hol( hol)
121 string_lengte = mysprint( HOL_FMT, hol);
122 index_symbol_table = find_sym( string, STORE_STRING);
123 return( symbol_table[ index_symbol_table].on_foff + string_area);
130 string_lengte = mysprint( "%cprt%x", GENLAB, d);
131 index_symbol_table = find_sym( string, STORE_STRING);
132 return( symbol_table[ index_symbol_table].on_foff + string_area);
139 string_lengte = mysprint( "%ccnt%x", GENLAB, d);
140 index_symbol_table = find_sym( string, STORE_STRING);
141 return( symbol_table[ index_symbol_table].on_foff + string_area);
148 string_lengte = mysprint( "%cmcnt%x", GENLAB, d);
149 index_symbol_table = find_sym( string, STORE_STRING);
150 return( symbol_table[ index_symbol_table].on_foff + string_area);