diff options
Diffstat (limited to 'Build/source/texk/web2c/omegafonts/list_routines.c')
-rw-r--r-- | Build/source/texk/web2c/omegafonts/list_routines.c | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/omegafonts/list_routines.c b/Build/source/texk/web2c/omegafonts/list_routines.c new file mode 100644 index 00000000000..3cac5e26588 --- /dev/null +++ b/Build/source/texk/web2c/omegafonts/list_routines.c @@ -0,0 +1,90 @@ +/* list_routines.c: Types used in this program. + +This file is part of Omega, +which is based on the web2c distribution of TeX, + +Copyright (c) 1994--2001 John Plaice and Yannis Haralambous + +Omega is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +Omega is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Omega; if not, write to the Free Software Foundation, Inc., +59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + +*/ + +#include "cpascal.h" +#include "list_routines.h" + +static list +list1 (void *x) +{ +list temp; +temp = (list) xmalloc(sizeof(cell)); +temp->contents = x; +temp->ptr = NULL; +return temp; +} + +/* Attribute-value list function */ + +av_list +av_list1 (int attr, int val) +{ +av_list temp; +temp = (av_list) xmalloc(sizeof(av_cell)); +temp->attribute = attr; +temp->value = val; +temp->ptr = NULL; +return temp; +} + +/* Index-value list function */ + +in_list +in_list1 (int val, in_list N) +{ +in_list temp; +temp = (in_list) xmalloc(sizeof(in_cell)); +temp->index = 0; +temp->value = val; +temp->actual = N; +temp->ptr = NULL; +return temp; +} + +/* Attribute-value list function */ + +hash_list +hash_list1 (int x, int y, int new_class, int lig_z, hash_list N) +{ +hash_list temp; +temp = (hash_list) xmalloc(sizeof(hash_cell)); +temp->x = x; +temp->y = y; +temp->new_class = new_class; +temp->lig_z = lig_z; +temp->ptr = N; +return temp; +} + + +void +append_to_queue(queue *q, void *content) +{ + if (q->front == NULL) { + q->front = list1(content); + q->tail = q->front; + } else { + q->tail->ptr = list1(content); + q->tail = q->tail->ptr; + } +} |