summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/omegafonts/list_routines.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/omegafonts/list_routines.c')
-rw-r--r--Build/source/texk/web2c/omegafonts/list_routines.c90
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;
+ }
+}