aboutsummaryrefslogtreecommitdiffstats
path: root/FICS/multicol.c.orig
diff options
context:
space:
mode:
Diffstat (limited to 'FICS/multicol.c.orig')
-rw-r--r--FICS/multicol.c.orig153
1 files changed, 0 insertions, 153 deletions
diff --git a/FICS/multicol.c.orig b/FICS/multicol.c.orig
deleted file mode 100644
index 8d52b04..0000000
--- a/FICS/multicol.c.orig
+++ /dev/null
@@ -1,153 +0,0 @@
-/* multicol.c
- *
- */
-
-/*
- fics - An internet chess server.
- Copyright (C) 1993 Richard V. Nash
-
- This program 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.
-
- This program 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.
-*/
-
-/* Revision history:
- name email yy/mm/dd Change
- Richard Nash 93/10/22 Created
-*/
-
-#include "stdinclude.h"
-
-#include "common.h"
-#include "multicol.h"
-#include "utils.h"
-#include "rmalloc.h"
-
-/* grimm */
-#if defined(SGI)
-#else
-/* char *strchr( char *s, int c); */
-#endif
-/* added for warning */
-
-PUBLIC multicol *multicol_start(int maxArray)
-{
- int i;
- multicol *m;
-
- m = (multicol *) rmalloc(sizeof(multicol));
- m->arraySize = maxArray;
- m->num = 0;
- m->strArray = (char **) rmalloc(sizeof(char *) * m->arraySize);
- for (i = 0; i < m->arraySize; i++)
- m->strArray[i] = NULL;
- return m;
-}
-
-PUBLIC int multicol_store(multicol * m, char *str)
-{
- if (m->num >= m->arraySize)
- return -1;
- if (!str)
- return -1;
- m->strArray[m->num] = strdup(str);
- m->num++;
- return 0;
-}
-
-PUBLIC int multicol_store_sorted(multicol * m, char *str)
-/* use this instead of milticol_store to print a list sorted */
-{
- int i;
- int found = 0;
- if (m->num >= m->arraySize)
- return -1;
- if (!str)
- return -1;
- for (i = m->num; (i > 0) && (!found); i--) {
- if (strcasecmp(str, m->strArray[i - 1]) >= 0) {
- found = 1;
- m->strArray[i] = strdup(str);
- } else {
- m->strArray[i] = m->strArray[i - 1];
- }
- }
- if (!found)
- m->strArray[0] = strdup(str);
- m->num++;
- return 0;
-}
-
-PUBLIC int multicol_pprint(multicol * m, int player, int cols, int space)
-{
- int i;
- int maxWidth = 0;
- int numPerLine;
- int numLines;
- int on, theone, len;
- int done;
- int temp;
- char *tempptr;
-
- pprintf(player, "\n");
- for (i = 0; i < m->num; i++) {
- tempptr = m->strArray[i];
- temp = strlen(tempptr); /* loon: yes, this is pathetic */
- for (; *tempptr; tempptr++) {
- if (*tempptr == '\033')
- temp -= 4;
- }
- if (temp > maxWidth)
- maxWidth = temp;
- }
- maxWidth += space;
- numPerLine = cols / maxWidth;
- numLines = m->num / numPerLine;
- if (numLines * numPerLine < m->num)
- numLines++;
- on = 0;
- done = 0;
- while (!done) {
- for (i = 0; i < numPerLine; i++) {
- theone = on + numLines * i;
- if (theone >= m->num) {
- break;
- }
- tempptr = m->strArray[theone];
- temp = strlen(tempptr); /* loon: yes, still pathetic */
- for (; *tempptr; tempptr++) {
- if (*tempptr == '\033')
- temp -= 4;
- }
- len = maxWidth - temp;
- if (i == numPerLine - 1)
- len -= space;
- pprintf(player, "%s", m->strArray[theone]);
- while (len) {
- pprintf(player, " ");
- len--;
- }
- }
- pprintf(player, "\n");
- on += 1;
- if (on >= numLines)
- break;
- }
- return 0;
-}
-
-PUBLIC int multicol_end(multicol * m)
-{
- int i;
- for (i = 0; i < m->num; i++)
- rfree(m->strArray[i]);
- rfree(m->strArray);
- rfree(m);
- return 0;
-}