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