On Sat, 22 Jan 2000 11:57:22 -0800 "Daniel A. Koepke"
<dkoepke@CALIFORNIA.COM> writes:
> I.e., pointers to some arbitrary memory. If you changed them to NULL,
> you'd at least not corrupt other memory before crashing, but I guess
you
> don't want it to crash at all. You probably want an array of char
rather
> than arbitrary pointers to lala land.
>
> -dak
Well, with your/George's help, that problem is fixed, but now I've got
(sigh) another. In order to get this thing to work, I basically
duplicated the title system and just modified make_prompt() to parse
ch->player.prompt and return that instead of using pref flags. I
basically copied all of the functions pertaining to title, including the
if(ch->player.title) then free(ch->player.title) stuff and made
if(ch->player.prompt) etc. This is probably the driving force behind my
rage when I get the error below..
--------------------Configuration: VC - Win32 Debug--------------------
Compiling...
limits.c
limits.c(233) : error C2106: '=' : left operand must be l-value
Error executing cl.exe.
circle.exe - 1 error(s), 0 warning(s)
As you can see, in my char_player_data structure, prompt is an
indirection as well as title...
/* general player-related info, usually PC's and NPC's */
struct char_player_data {
[...]
char *title; /* PC / NPC's title */
char *prompt; // PC / NPC's prompt
[...]
};
This function is a near duplicate of set_title()...
void set_prompt(struct char_data *ch, char *prompt)
{
if (strlen(prompt) > MAX_PROMPT_LENGTH)
prompt[MAX_PROMPT_LENGTH] = '\0';
if (GET_PROMPT(ch) != NULL)
free(GET_PROMPT(ch));
GET_PROMPT(ch) = str_dup(prompt); (line 233)
}
Just as this is a near duplicate of do_title()...
ACMD(do_display)
{
skip_spaces(&argument);
delete_doubledollar(argument);
if (strlen(argument) > MAX_PROMPT_LENGTH) {
sprintf(buf, "Sorry, prompts can't be longer than %d
characters.\r\n",
MAX_PROMPT_LENGTH);
send_to_char(buf, ch);
} else {
set_prompt(ch, argument);
sprintf(buf, "Your prompt has been changed to \"%s\".\r\n",
GET_PROMPT(ch));
send_to_char(buf, ch);
}
}
Is there something that I'm missing? I'm clueless here.
-Phillip
Phillip Ames | AOL IM: Grathol | ICQ: 8778335 |
------------------------------------------------------
"I will break you into pieces, hold you up for all the
world to see, what makes you think you are better than
me?" -Everclear, Like A California King, 1997
________________________________________________________________
YOU'RE PAYING TOO MUCH FOR THE INTERNET!
Juno now offers FREE Internet Access!
Try it today - there's no risk! For your FREE software, visit:
http://dl.www.juno.com/get/tagj.
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/10/01 PDT