>And one user removed for an open flame on the list.
>
>Thank you, don't come again.
Just a quick note to Alex, he's got several e-mail account, he'll
probably join with one of the others.
ObCircle:
Back to what was said efore by Alex & George: patches are not always
going to be something you can just drop in and use. Unless they are
something self-contained, like a spec-proc, or a manual spell, they will
require some thought when adding in. Unfortunately, there are a lot of
people who just add them as-is, and then come to the list asking us why
they don't work. Now, I understand if it's some obscure thing that even
experienced programmers get irked with (pointers, EVIL pointers!) but
most of the time, it's just a matter of them not understanding the
simplest parts of the code.
Oh yeah, Alex, here's the most recent version of my linewrap code. I
think I finally killed all the quirks in it.
char *linewrap(char *str, int max)
{
char xbuf2[MAX_STRING_LENGTH];
char xbuf[MAX_STRING_LENGTH];
char *tmp;
int i, lline = 0, curr = 0, sline = 0;
bool spec_code = FALSE;
if (max < 40)
max = 80;
xbuf2[0] =xbuf[0] = '\0';
i = max - 1;
if (strlen(str) < i)
return (str);
tmp = str;
while (*tmp && tmp) {
if (*tmp == '\x1B'&& !spec_code)
spec_code = TRUE;
if (*tmp == ' ') {
if (lline > i) {
while (xbuf[strlen(xbuf) - 1] == ' ')
xbuf[strlen(xbuf) - 1] = '\0';
sprintf(xbuf, "%s\r\n%s ", xbuf, xbuf2);
sline++;
lline = sline;
curr = 0;
xbuf2[0] = '\0';
} else {
sprintf(xbuf, "%s%s ", xbuf, xbuf2);
sline = 0;
lline++;
curr = 0;
xbuf2[0] = '\0';
}
} else if ((*tmp == '\r') && (*(tmp+1) == '\n')) {
tmp++;
if (lline > i) {
while (xbuf[strlen(xbuf) - 1] == ' ')
xbuf[strlen(xbuf) - 1] = '\0';
sprintf(xbuf, "%s\r\n%s\r\n", xbuf, xbuf2);
} else
sprintf(xbuf, "%s%s\r\n", xbuf, xbuf2);
lline = 0;
sline = 0;
curr = 0;
xbuf2[0] = '\0';
} else if ((*tmp == '\n') && (*(tmp+1) == '\r')) {
tmp++;
if (lline > i) {
while (xbuf[strlen(xbuf) - 1] == ' ')
xbuf[strlen(xbuf) - 1] = '\0';
sprintf(xbuf, "%s\r\n%s\r\n", xbuf, xbuf2);
} else
sprintf(xbuf, "%s%s\r\n", xbuf, xbuf2);
lline = 0;
sline = 0;
curr = 0;
xbuf2[0] = '\0';
} else {
xbuf2[curr] = *tmp;
xbuf2[curr + 1] = '\0';
curr++;
if (!spec_code) {
lline++;
sline++;
}
}
if (*tmp == 'm' && spec_code)
spec_code = FALSE;
tmp++;
}
if (lline > i) {
while (xbuf[strlen(xbuf) - 1] == ' ')
xbuf[strlen(xbuf) - 1] = '\0';
sprintf(xbuf, "%s\r\n%s", xbuf, xbuf2);
} else
sprintf(xbuf, "%s%s", xbuf, xbuf2);
return (str_dup(xbuf));
}
---
"One hundred years from now, none of this will matter because you and I
will be dead -- unless the Grim Reaper has switched his record-keeping to
a Windows 95-based system, in which case we all might live forever. "
-- Associated Press
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST