Blame bibutils/bu_auth.c

Packit 89ede9
/*
Packit 89ede9
 * bu_auth.c
Packit 89ede9
 *
Packit 89ede9
 * Copyright (c) Chris Putnam 2017-2018
Packit 89ede9
 *
Packit 89ede9
 * Source code released under the GPL version 2
Packit 89ede9
 */
Packit 89ede9
#include <string.h>
Packit 89ede9
#include "bu_auth.h"
Packit 89ede9
Packit 89ede9
const char *bu_genre[] = {
Packit 89ede9
	"academic journal",
Packit 89ede9
	"airtel",
Packit 89ede9
	"collection",
Packit 89ede9
	"communication",
Packit 89ede9
	"Diploma thesis",
Packit 89ede9
	"Doctoral thesis",
Packit 89ede9
	"electronic",
Packit 89ede9
	"e-mail communication"
Packit 89ede9
	"Habilitation thesis",
Packit 89ede9
	"handwritten note",
Packit 89ede9
	"hearing",
Packit 89ede9
	"journal article",
Packit 89ede9
	"Licentiate thesis",
Packit 89ede9
	"magazine",
Packit 89ede9
	"magazine article",
Packit 89ede9
	"manuscript",
Packit 89ede9
	"Masters thesis",
Packit 89ede9
	"memo",
Packit 89ede9
	"miscellaneous",
Packit 89ede9
	"newspaper article",
Packit 89ede9
	"pamphlet",
Packit 89ede9
	"Ph.D. thesis",
Packit 89ede9
	"press release",
Packit 89ede9
	"teletype",
Packit 89ede9
	"television broadcast",
Packit 89ede9
	"unpublished"
Packit 89ede9
};
Packit 89ede9
int nbu_genre = sizeof( bu_genre ) / sizeof( const char *);
Packit 89ede9
Packit 89ede9
static int
Packit 89ede9
position_in_list( const char *list[], int nlist, const char *query )
Packit 89ede9
{
Packit 89ede9
	int i;
Packit 89ede9
	for ( i=0; i
Packit 89ede9
		if ( !strcasecmp( query, list[i] ) ) return i;
Packit 89ede9
	}
Packit 89ede9
	return -1;
Packit 89ede9
}
Packit 89ede9
Packit 89ede9
int
Packit 89ede9
bu_findgenre( const char *query )
Packit 89ede9
{
Packit 89ede9
	return position_in_list( bu_genre, nbu_genre, query );
Packit 89ede9
}
Packit 89ede9
Packit 89ede9
int
Packit 89ede9
is_bu_genre( const char *query )
Packit 89ede9
{
Packit 89ede9
	if ( bu_findgenre( query ) != -1 ) return 1;
Packit 89ede9
	return 0;
Packit 89ede9
}