blob: 09202de31832eacb959514982bc060ba0a1377bb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
/* outform.c manages a list of output formats, and associates
* them with their relevant drivers. Also has a
* routine to find the correct driver given a name
* for it
*
* The Netwide Assembler is copyright (C) 1996 Simon Tatham and
* Julian Hall. All rights reserved. The software is
* redistributable under the licence given in the file "Licence"
* distributed in the NASM archive.
*/
#include <stdio.h>
#include <string.h>
#include "outform.h"
static struct ofmt *drivers[MAX_OUTPUT_FORMATS];
static int ndrivers = 0;
struct ofmt *ofmt_find(char *name) /* find driver */
{
int i;
for (i=0; i<ndrivers; i++)
if (!strcmp(name,drivers[i]->shortname))
return drivers[i];
return NULL;
}
void ofmt_list(struct ofmt *deffmt, FILE *fp)
{
int i;
for (i=0; i<ndrivers; i++)
fprintf(fp, " %c %-7s%s\n",
drivers[i] == deffmt ? '*' : ' ',
drivers[i]->shortname,
drivers[i]->fullname);
}
void ofmt_register (struct ofmt *info) {
drivers[ndrivers++] = info;
}
|