/* comptype.c */
/* gets the list of computers */
#include <dos/dos.h>
#include <dos/dosextens.h>
#include "bbs.h"
#include <exec/types.h>
#include <libraries/dos.h>
#include <workbench/workbench.h>
#include <clib/icon_protos.h>
#include <workbench/startup.h>
extern int ComputerEntries;
extern char *ComputerTypes[255],NodeStr[];

BOOL ReadComputerTypes(void)
{
 int loop;
 char *lbuffer;     // ,s[10];
 struct DiskObject *dobj;
 char *s;
 char **tooltype;
 sprintf(GSTR1,"%sComputerList",Cmds->BBSLoc);
 if(dobj=GetDiskObject(GSTR1))
 {
   tooltype=dobj->do_ToolTypes;
 
    if(s=FindToolType(tooltype,"COMPUTER.NUM"))
    {
       ComputerEntries=atol(s);
        if(lbuffer=AllocMem(ComputerEntries*90,MEMF_ANY)) {
 			for(loop=0; loop<ComputerEntries; loop++) {
 				ComputerTypes[loop]=(UBYTE *)((90*loop)+(ULONG)lbuffer);
                sprintf(GSTR1,"COMPUTER.%d",loop+1);
                if(s=FindToolType(tooltype,GSTR1))
                {
                  strcpy(ComputerTypes[loop],s);
                }
                else
                {
                  printf("Not enough entries in ComputerTypes\n");
                  FreeDiskObject(dobj);
                  return(FALSE);
	           }
              }
		  } else {
             //(RTS)
		    	printf("Not enough memory to read in ComputerTypes\n");
		    	FreeDiskObject(dobj);
     	    return(FALSE);       // CloseDisplay();
		 }
	 } else {
	    	FreeDiskObject(dobj);
 		printf("No entries in ComputerTypes\n");
  	     return(FALSE);            //  CloseDisplay();
		}
 	 FreeDiskObject(dobj);            //(RTS)
	} else {
	     return(FALSE);                 // CloseDisplay();
	}
 return(TRUE);
}

