[CODE] Aedit Patch

From: Torgny Bjers (tb@sbbs.se)
Date: 07/08/00


   Server: CircleMUD 3.0, bpl 17
  Add-ons: OasisOLC, Races, Classes
       OS: Windows NT 4.0 Server
Hardware: Dell Precision 210 Workstation, Dual Processor
Compiler: Microsoft Developer Studio 97, C++ 5.0

Regarding: Aedit patch

Hello,

I have recently hand patched in the Aedit_16.patch that can be found on the
Circle FTP.  One problem occured after I had finished patching and compiled,
it couldn't find OLC_STORAGE.

I also got similar errors from aedit.c...

My oasis_olc_data (oasis.h) looks like this:

struct oasis_olc_data {
  int mode;
  int zone_num;
  int number;
  int value;
  int total_mprogs;
  struct char_data *mob;
  struct room_data *room;
  struct obj_data *obj;
  struct zone_data *zone;
  struct shop_data *shop;
  struct social_messg *action;
  struct extra_descr_data *desc;
#if CONFIG_OASIS_MPROG
  struct mob_prog_data *mprog;
  struct mob_prog_data *mprogl;
#endif
};

And the macro defines in oasis.h look like this:

#define OLC(d)  ((struct oasis_olc_data *)(d)->olc)
#define OLC_MODE(d)     (OLC(d)->mode)          /* Parse input mode. */
#define OLC_NUM(d)      (OLC(d)->number)        /* Room/Obj VNUM. */
#define OLC_VAL(d)      (OLC(d)->value)         /* Scratch variable. */
#define OLC_ZNUM(d)     (OLC(d)->zone_num)      /* Real zone number. */
#define OLC_ROOM(d)     (OLC(d)->room)          /* Room structure. */
#define OLC_OBJ(d)      (OLC(d)->obj)           /* Object structure. */
#define OLC_ZONE(d)     (OLC(d)->zone)          /* Zone structure. */
#define OLC_MOB(d)      (OLC(d)->mob)           /* Mob structure. */
#define OLC_SHOP(d)     (OLC(d)->shop)          /* Shop structure. */
#define OLC_DESC(d)     (OLC(d)->desc)          /* Extra description. */
#define OLC_STORAGE(d)  (OLC(d)->storage)       /* For command storage  */
#define OLC_ACTION(d)   (OLC(d)->action)        /* Action structure     */
#if CONFIG_OASIS_MPROG
#define OLC_MPROG(d)    (OLC(d)->mprog)         /* Temporary MobProg. */
#define OLC_MPROGL(d)   (OLC(d)->mprogl)        /* MobProg list. */
#define OLC_MTOTAL(d)   (OLC(d)->total_mprogs)  /* Total mprog number. */
#endif


It would be great if someone could help me out here... :)

Kind regards,
Torgny Bjers (Artovil)


==[compiler response]================================================
oasis.c
oasis.c(231) : error C2039: 'storage' : is not a member of 'oasis_olc_data'
oasis.c(233) : error C2039: 'storage' : is not a member of 'oasis_olc_data'
oasis.c(233) : error C2198: 'is_abbrev' : too few actual parameters
oasis.c(237) : error C2039: 'storage' : is not a member of 'oasis_olc_data'
oasis.c(237) : error C2198: 'find_command' : too few actual parameters
oasis.c(242) : error C2039: 'storage' : is not a member of 'oasis_olc_data'
oasis.c(335) : error C2039: 'storage' : is not a member of 'oasis_olc_data'
oasis.c(336) : error C2039: 'storage' : is not a member of 'oasis_olc_data'
oasis.c(336) : error C2198: 'free' : too few actual parameters

==[actual code for line 231-242]=====================================
  else {
    OLC_NUM(d) = 0;
    OLC_STORAGE(d) = str_dup(buf1);
    for (OLC_ZNUM(d) = 0; (OLC_ZNUM(d) <= top_of_socialt); OLC_ZNUM(d)++)  {
      if (is_abbrev(OLC_STORAGE(d), soc_mess_list[OLC_ZNUM(d)].command))
        break;
    }
    if (OLC_ZNUM(d) > top_of_socialt)  {
      if (find_command(OLC_STORAGE(d)) > NOTHING)  {
        cleanup_olc(d, CLEANUP_ALL);
        send_to_char("That command already exists.\r\n", ch);
        return;
      }
      sprintf(buf, "Do you wish to add the '%s' action? ", OLC_STORAGE(d));
      send_to_char(buf, ch);
      OLC_MODE(d) = AEDIT_CONFIRM_ADD;
    }
    else  {
      sprintf(buf, "Do you wish to edit the '%s' action? ",
soc_mess_list[OLC_ZNUM(d)].command);
      send_to_char(buf, ch);
      OLC_MODE(d) = AEDIT_CONFIRM_EDIT;
    }
  }


==[actual code for line 335-336]=====================================
     /*. Check for storage -- aedit patch -- M. Scott .*/
     if (OLC_STORAGE(d))
       free(OLC_STORAGE(d));


     +------------------------------------------------------------+
     | 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