home *** CD-ROM | disk | FTP | other *** search
/ Network PC / Network PC.iso / amiga utilities / communication / bbs / hydrabbsa8 / developer / examples / configfiles / configs.c < prev   
Encoding:
Text File  |  1997-11-21  |  1.3 KB  |  51 lines

  1. // (C) 1995 Hydra/TSN/LSD
  2.  
  3. // example of reading items from a config file..
  4.  
  5. /*
  6.  
  7.       FrEd=A string ;skjjshdjskjksjk
  8.       num=83634
  9.       list_1=fred
  10.       list_2=sid
  11.       list_3=moocow
  12.  
  13.       bool=YES
  14. ;      bool=NO
  15. ;      bool=ON
  16. ;      bool=OFF
  17. ;      bool=TRUE
  18. ;      bool=FALSE
  19. */
  20.  
  21.  
  22. void LoadCFG( void )
  23. {
  24.   struct CfgFileData *DeviceCFG;
  25.   V_ERROR error=TYPE_NONE;
  26.   UBYTE *filename="RAM:Poo.cfg";
  27.  
  28.   VTYPE_STRING mystring=NULL;          // ALWAYS INITILISE VARIABLES to NULL or 0
  29.   VTYPE_STRINGLIST mylist=NULL;        // or you can expect a system crash!
  30.   VTYPE_BIGNUM mynum=0;
  31.   VTYPE_BOOL mybool=FALSE;
  32.  
  33.   if (DeviceCFG=(struct CfgFileData *)AllocVec(sizeof(struct CfgFileData),MEMF_PUBLIC))
  34.   {
  35.     if (!(error=HBBS_LoadConfig(DeviceCFG,filename)))
  36.     {
  37.  
  38.       HBBS_GetSetting(DeviceCFG,(void *)&mystring             ,VTYPE_STRING,"fred"                       ,OPT_SINGLE);
  39.       HBBS_GetSetting(DeviceCFG,(void *)&mynum                ,VTYPE_BIGNUM,"num"                        ,OPT_SINGLE);
  40.       HBBS_GetSetting(DeviceCFG,(void *)&mylist               ,VTYPE_STRINGLIST,"list"                   ,OPT_MULTI);
  41.       HBBS_GetSetting(DeviceCFG,(void *)&mybool               ,VTYPE_BOOL,"bool"                         ,OPT_SINGLE);
  42.  
  43.       HBBS_FlushConfig(DeviceCFG);
  44.     }
  45.     FreeVec(DeviceCFG);
  46.   }
  47.  
  48.   FreeStrList(mylist);
  49.   FreeStr(mystring);
  50. }
  51.