NameChange Compile Error

From: Russell \ (elik@prestiqehosting.net)
Date: 01/04/02


    Hello all.

    I was doing some modifications to the stock circle MUD 3.0p19 and I been
working on trying to resolve the problem with this snippet which I am posting
below.  Basically...when I added it, it seems to hate it.  So after trying to
figure out the problem, since it seems to be clean implemenation, I decided to
post this up.

ACMD(do_namechange){
  struct char_data *vict;  char *oldname;
  int i,j;
  char arg1[MAX_STRING_LENGTH];
  char arg2[MAX_STRING_LENGTH];
  char tmp_name[MAX_STRING_LENGTH];

  half_chop(argument, arg1, argument);
  half_chop(argument, arg2, argument);

  if ((!*arg1) || (!*arg2)) {
    send_to_char("Usage: namechange <character> <new name>\r\n", ch);
    return;
  }

  if (!(vict = get_player_vis(ch, arg1, 0))) {
    send_to_char("They aren't here.\r\n", ch);
    return;
  }

  if (GET_LEVEL(vict) > 5) {
    send_to_char("You can't change the name of someone over level 5.\r\n",ch);
    return;
  }

  if (find_name(arg2)>-1)  {
    send_to_char("There's already somebody with this name.\r\n",ch);
    return;
  }


  if ((_parse_name(arg2, tmp_name))||strlen(tmp_name) < 2 ||
       strlen(tmp_name) > MAX_NAME_LENGTH || !Valid_Name(tmp_name) ||
       fill_word(tmp_name) || reserved_word(tmp_name)) {
    send_to_char("Illegal name, retry.\r\n", ch);
    return;
  }

  for (i = 0; i <= top_of_p_table; i++)
    if (player_table[i].id == GET_IDNUM(vict))
      break;

  if (player_table[i].id != GET_IDNUM(vict)){
    send_to_char("BUG: error in player table!!!!",ch);
    log("BUG: error in player table for %s with idnum %d",
      GET_NAME(ch),GET_IDNUM(ch));
    return;
  }

  oldname = strdup(GET_NAME(vict));

  //player_table[i].name = strdup(arg2);
  for (j = 0; (*(player_table[i].name + j) = LOWER(*(arg2 + j))); j++);

  strcpy(vict->player.name, CAP(arg2));

  sprintf(buf, "(GC) %s has changed the name of %s to %s.",
GET_NAME(ch),GET_NAME(vict), arg2);
  mudlog(buf, BRF, LVL_IMMORT, TRUE);

  save_char(vict, vict->in_room);

  send_to_char("Ok.\r\n",ch);
  send_to_char("Your name has changed.\r\n",vict);
}

    And when I did the compile, I got this set of errors as follows:

act.wizard.c: In function `do_namechange':
act.wizard.c:2818: too few arguments to function `get_player_vis'
act.wizard.c:2828: warning: implicit declaration of function `find_name'
act.wizard.c:2834: warning: implicit declaration of function `_parse_name'
act.wizard.c:2835: warning: implicit declaration of function `Valid_Name'
act.wizard.c:2836: warning: implicit declaration of function `reserved_word'
act.wizard.c:2842: `player_table' undeclared (first use in this function)
act.wizard.c:2842: (Each undeclared identifier is reported only once
act.wizard.c:2842: for each function it appears in.)
act.wizard.c:2848: warning: int format, long int arg (arg 3)
act.wizard.c:2804: warning: `vict' might be used uninitialized in this function
make[1]: *** [act.wizard.o] Error 1
make[1]: Leaving directory `/var/local/.forgotten/circle2/src'
make: *** [all] Error 2


    So.. it seems I must have missed something here.  Anyone help on this?



----------------------------------------------------------
Prestiqehosting Inc.
    Hosting your unique needs
       on silver platter!

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   | Newbie List:  http://groups.yahoo.com/group/circle-newbies/   |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 06/25/03 PDT