Subject: b20: some problems with tcl.h (win98)
From: [email-masked] (creative1)

2 Nov 1998 01:52:00 -0800
Message-ID: <[email-masked]>
Reply-To: [email-masked]
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
To: [email-masked]

Hi there!

I almost get eggdrop to compile but when linking...

gcc -o ../eggdrop botcmd.o botmsg.o botnet.o chanprog.o cmds.o dcc.o
dccutil.o f
lags.o language.o main.o mem.o misc.o modules.o net.o tcl.o tcldcc.o
tclhash.o t
clmisc.o tcluser.o userent.o userrec.o users.o
-L/cygnus/cygwin-b20/H-i586-cygwi
n32/lib -ltcl80 -lm  mod/*.o
mod/server.o: In function `tcl_eggserver':
/kaos/src/mod/server.mod/server.c:2086: undefined reference to
`Tcl_DStringInit'
/kaos/src/mod/server.mod/server.c:2091: undefined reference to
`Tcl_DStringAppen
dElement'
/kaos/src/mod/server.mod/server.c:2095: undefined reference to
`Tcl_DStringFree'
collect2: ld returned 1 exit status
make[1]: *** [static] Error 1
make: *** [static] Error 2
BASH.EXE-2.02$

I don't see why
I tryed including tcl.h same problem
do i have to include anything else? i looked at tcl.h and i see both
defined extern there...

server.c function tcl_eggserver here...

static char *tcl_eggserver (ClientData cdata, Tcl_Interp * irp, char *
name1,
                            char * name2, int flags)
{
   Tcl_DString ds;
   char *slist, **list, x[1024];
   struct server_list *q;
   int lc, code, i;
   context;
   if (flags & (TCL_TRACE_READS | TCL_TRACE_UNSETS)) {
      /* create server list */
      Tcl_DStringInit(&ds);  <----------------- one error
      for (q=serverlist;q;q=q->next) {
         sprintf(x,"%s:%d%s%s %s",q->name,q->port?q->port:default_port,
                 q->pass?":":"",q->pass?q->pass:"",
                 q->realname?q->realname:"");
         Tcl_DStringAppendElement(&ds, x);    <-------- second error
      }
      slist = Tcl_DStringValue(&ds);
      Tcl_SetVar2(interp, name1, name2, slist, TCL_GLOBAL_ONLY);
      Tcl_DStringFree(&ds);  <--------------- third error
   } else {                     /* writes */
      if (serverlist) {
         clearq(serverlist);
         serverlist = NULL;
      }
      slist = Tcl_GetVar2(interp, name1, name2, TCL_GLOBAL_ONLY);
      if (slist != NULL) {
         code = Tcl_SplitList(interp, slist, &lc, &list);
         if (code == TCL_ERROR) {
            return interp->result;
         }
         for (i = 0; i < lc && i < 50; i++) {
            add_server(list[i]);
         }
         /* tricky way to make the bot reset its server pointers */
         /* perform part of a '.jump <current-server>': */
         if (server_online) {
            int servidx = findanyidx(serv);
            curserv = (-1);
            next_server(&curserv, dcc[servidx].host, &dcc[servidx].port,
"");
         }
         n_free(list, "", 0);
      }
   }
   context;
   return NULL;
}

Thanks
Joaquin Grech
---------------------------------------------------------------
!     C r e a t i v i t y     M u s t    S u r v i v e        !
---------------------------------------------------------------
!  Fido: 2:341/19.67                 Euronet: 25:928/100.67   !
!  Internet: [email-masked]                            !
!  Http://surf.to/creative                  Ya me direis :)   !
---------------------------------------------------------------

-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".