(Temporarily) set "animate" to "none" by default (broken feature).
[gf1.git] / position.c
blob27ff20263cf4c33efdb84418cec81bc16e706f84
1 /*
2 ** $Id$
3 */
4 /*
5 ** Copyright (C) 1998 Kurt Van den Branden
6 **
7 ** This program is free software; you can redistribute it and/or modify
8 ** it under the terms of the GNU General Public License as published by
9 ** the Free Software Foundation; either version 2 of the License, or
10 ** (at your option) any later version.
11 **
12 ** This program is distributed in the hope that it will be useful,
13 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
14 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ** GNU General Public License for more details.
16 **
17 ** You should have received a copy of the GNU General Public License
18 ** along with this program; if not, write to the Free Software
19 ** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 #include "position.h"
24 listheader * copy_position_row (listheader * orig)
26 listheader * new;
28 new = copyll (orig, copy_position);
30 return (new);
34 void * copy_position (void * orig)
36 position * o_item = orig,
37 * n_item;
39 if (o_item == NULL)
40 return (NULL);
42 n_item = new_position ();
44 n_item->col = o_item->col;
45 n_item->row = o_item->row;
47 return ((void *) n_item);
51 void del_position_f (void * item)
53 position * pos = item;
55 if (pos != NULL)
57 free (pos);
59 return;
63 position * strtopos (const char * str)
65 position * ptr;
66 int col, row;
68 if (str == NULL)
70 return (NULL);
73 col = str[0] - 'a'; /* should be the colnr macro */
74 if ((col < 0) || (col > 8))
76 return (NULL);
78 row = str[1] - '0';
79 if ((row < 1) || (row > 9))
81 return (NULL);
84 ptr = new_position();
85 ptr->col = col;
86 ptr->row = row;
87 return (ptr);
90 char * postostr (position * pos)
92 char * str;
94 if (pos == NULL)
96 return (NULL);
99 str = (char *) malloc (3);
100 str[0] = pos->col + 'a';
101 str[1] = pos->row + '0';
102 str[2] = '\0';
104 return (str);