5 * Revision 1.2 1995/05/11 14:03:56 adam
6 * Changes in the reading of qualifier(s). New function: ccl_qual_fitem.
7 * New variable ccl_case_sensitive, which controls whether reserved
8 * words and field names are case sensitive or not.
10 * Revision 1.1 1995/04/17 09:31:45 adam
11 * Improved handling of qualifiers. Aliases or reserved words.
22 void ccl_qual_fitem (CCL_bibset bibset, const char *cp, const char *qual_name)
34 if (sscanf (cp, "%s%n", qual_type, &no_scan) != 1)
37 if (!(split = strchr (qual_type, '=')))
47 if ((split = strchr (qual_value, ',')))
49 value = atoi (qual_value);
59 if (!ccl_stricmp (qual_value, "o"))
60 value = CCL_BIB1_REL_ORDER;
69 if (!ccl_stricmp (qual_value, "pw"))
70 value = CCL_BIB1_STR_WP;
75 if (!ccl_stricmp (qual_value, "l"))
76 value = CCL_BIB1_TRU_CAN_LEFT;
77 else if (!ccl_stricmp (qual_value, "r"))
78 value = CCL_BIB1_TRU_CAN_RIGHT;
79 else if (!ccl_stricmp (qual_value, "b"))
80 value = CCL_BIB1_TRU_CAN_BOTH;
81 else if (!ccl_stricmp (qual_value, "n"))
82 value = CCL_BIB1_TRU_CAN_NONE;
89 type = atoi (qual_type);
91 pair[pair_no*2] = type;
92 pair[pair_no*2+1] = value;
98 ccl_qual_add (bibset, qual_name, pair_no, pair);
102 * ccl_qual_file: Read bibset definition from file.
106 * Each line format is:
107 * <name> <t>=<v> <t>=<v> ....
108 * Where <name> is name of qualifier;
109 * <t>=<v> is a attribute definition pair where <t> is one of:
110 * u(use), r(relation), p(position), t(truncation), c(completeness)
112 * <v> is an integer or special pseudo-value.
114 void ccl_qual_file (CCL_bibset bibset, FILE *inf)
121 while (fgets (line, 255, inf))
125 continue; /* ignore lines starting with # */
126 if (sscanf (cp, "%s%n", qual_name, &no_scan) != 1)
127 continue; /* also ignore empty lines */
129 ccl_qual_fitem (bibset, cp, qual_name);