refer.h revision 75584
175584Sru// -*- C++ -*- 275584Sru/* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc. 375584Sru Written by James Clark (jjc@jclark.com) 475584Sru 575584SruThis file is part of groff. 675584Sru 775584Srugroff is free software; you can redistribute it and/or modify it under 875584Sruthe terms of the GNU General Public License as published by the Free 975584SruSoftware Foundation; either version 2, or (at your option) any later 1075584Sruversion. 1175584Sru 1275584Srugroff is distributed in the hope that it will be useful, but WITHOUT ANY 1375584SruWARRANTY; without even the implied warranty of MERCHANTABILITY or 1475584SruFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 1575584Srufor more details. 1675584Sru 1775584SruYou should have received a copy of the GNU General Public License along 1875584Sruwith groff; see the file COPYING. If not, write to the Free Software 1975584SruFoundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 2075584Sru 2175584Sru#include <stdio.h> 2275584Sru#include <stdlib.h> 2375584Sru#include <assert.h> 2475584Sru#include <string.h> 2575584Sru#include <errno.h> 2675584Sru 2775584Sru#include "errarg.h" 2875584Sru#include "error.h" 2975584Sru#include "lib.h" 3075584Sru#include "stringclass.h" 3175584Sru#include "cset.h" 3275584Sru#include "cmap.h" 3375584Sru 3475584Sru#include "defs.h" 3575584Sru 3675584Sruunsigned hash_string(const char *, int); 3775584Sruint next_size(int); 3875584Sru 3975584Sruextern string capitalize_fields; 4075584Sruextern string reverse_fields; 4175584Sruextern string abbreviate_fields; 4275584Sruextern string period_before_last_name; 4375584Sruextern string period_before_initial; 4475584Sruextern string period_before_hyphen; 4575584Sruextern string period_before_other; 4675584Sruextern string sort_fields; 4775584Sruextern int annotation_field; 4875584Sruextern string annotation_macro; 4975584Sruextern string discard_fields; 5075584Sruextern string articles; 5175584Sruextern int abbreviate_label_ranges; 5275584Sruextern string label_range_indicator; 5375584Sruextern int date_as_label; 5475584Sruextern string join_authors_exactly_two; 5575584Sruextern string join_authors_last_two; 5675584Sruextern string join_authors_default; 5775584Sruextern string separate_label_second_parts; 5875584Sruextern string et_al; 5975584Sruextern int et_al_min_elide; 6075584Sruextern int et_al_min_total; 6175584Sru 6275584Sruextern int compatible_flag; 6375584Sru 6475584Sruextern int set_label_spec(const char *); 6575584Sruextern int set_date_label_spec(const char *); 6675584Sruextern int set_short_label_spec(const char *); 6775584Sru 6875584Sruextern int short_label_flag; 6975584Sru 7075584Sruvoid clear_labels(); 7175584Sruvoid command_error(const char *, 7275584Sru const errarg &arg1 = empty_errarg, 7375584Sru const errarg &arg2 = empty_errarg, 7475584Sru const errarg &arg3 = empty_errarg); 7575584Sru 7675584Srustruct reference; 7775584Sru 7875584Sruvoid compute_labels(reference **, int); 79