1 /*
2  * modstypes.c
3  *
4  * Copyright (c) Chris Putnam 2004-2021
5  *
6  * Source code released under the GPL version 2
7  *
8  */
9 #include <stdio.h>
10 #include <string.h>
11 #include "modstypes.h"
12 
13 char *
mods_get_id_from_internal(char * internal_name,convert * data,int ndata)14 mods_get_id_from_internal( char *internal_name, convert *data, int ndata )
15 {
16 	int i;
17 	for ( i=0; i<ndata; ++i ) {
18 		if ( !strcasecmp( data[i].internal, internal_name ) )
19 			return data[i].mods;
20 	}
21 	return NULL;
22 }
23 
24 char *
mods_get_id_from_mods(char * mods_name,convert * data,int ndata)25 mods_get_id_from_mods( char *mods_name, convert *data, int ndata )
26 {
27 	int i;
28 	for ( i=0; i<ndata; ++i ) {
29 		if ( !strcasecmp( data[i].mods, mods_name ) )
30 			return data[i].internal;
31 	}
32 	return NULL;
33 }
34 
35 /* convert2_findallfields()
36  *
37  *       Find the positions of all convert2.internal tags in the fields
38  *       structure and store the locations in convert2.pos element.
39  *
40  *       Return number of the tags found.
41  */
42 int
convert2_findallfields(fields * f,convert2 * parts,int nparts,int level)43 convert2_findallfields( fields *f, convert2 *parts, int nparts, int level )
44 {
45         int i, n = 0;
46 
47         for ( i=0; i<nparts; ++i ) {
48                 parts[i].pos = fields_find( f, parts[i].internal, level );
49                 n += ( parts[i].pos!=FIELDS_NOTFOUND );
50         }
51 
52         return n;
53 }
54