home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / MALST100.ZIP / MALIST.C < prev    next >
C/C++ Source or Header  |  1994-06-05  |  3KB  |  84 lines

  1. /*********************************************************************
  2. ** FILENAME: malist.c                       VERSION: 1.00
  3. **
  4. ** DESCRIPTION: Sample code to display RemoteAccess message areas
  5. **
  6. ** NOTES: Tested with RemoteAccess v2.01 MESSAGES.RA file
  7. **
  8. ** AUTHOR: John Kristoff                START DATE: 04/25/94
  9. **         Internet: jkristof@xroads.chigate.com
  10. **                   jkristof@mica.meddean.luc.edu
  11. **         FidoNet:  1:115/743
  12. **      Compuserve: 74111,3652
  13. **
  14. ** VERSION  DATE     WHO  DETAIL
  15. ** 1.00     05Jun94  JK   Initial design and coding
  16. **
  17. **      Copyright John Kristoff, 1994.  All rights reserved.
  18. **      You may use this program or any part there-of as desired
  19. **      without restriction.
  20. */
  21.  
  22. #include <stdio.h>                      /* Standard i/o */
  23. #include <stdlib.h>                     /* Standard library */
  24. #include "ra.h"                         /* RemoteAccess structures */
  25.  
  26. #define VERS       "1.00"               /* Program version */
  27.  
  28. int main( void );                       /* If you don't know, YUSC */
  29.  
  30. int
  31. main( void )
  32. {
  33.     int AreaNum = 0;                    /* Area # we're at */
  34.     struct MESSAGE Msgs;                /* Defined in ra.h */
  35.     FILE * fp = NULL;                   /* Pointer to MESSAGES.RA */
  36.  
  37.     printf( "\n"
  38.             "MALIST v" VERS ", " __DATE__ ".\n"
  39.              "Sample code to display RemoteAccess message areas\n"
  40.              "Copyright John Kristoff, 1994.  All rights reserved.\n"
  41.              "\n" );
  42.  
  43.     fp = fopen( "MESSAGES.RA", "rb" );
  44.     if( fp == NULL )
  45.     {
  46.         printf( "ERROR (%d): Cannot open MESSAGES.RA\n", __LINE__ );
  47.         exit( EXIT_FAILURE );
  48.     }
  49.  
  50.     if( fread(&Msgs, sizeof(struct MESSAGE), 1, fp) == NULL )
  51.     {
  52.         printf( "ERROR (%d): Cannot read MESSAGES.RA\n", __LINE__ );
  53.         exit( EXIT_FAILURE );
  54.     }
  55.  
  56.     while( !feof(fp) )
  57.     {
  58.         char Area[41] = "";                 /* Blank area name string */
  59.  
  60.         if( Msgs.NameSize < 1 )
  61.         {
  62.             strcpy( Area, "[Unused]" );
  63.         }
  64.         else
  65.         {
  66.             strncpy( Area, Msgs.Name, Msgs.NameSize );
  67.             Area[Msgs.NameSize + 1] = '\0';
  68.         }
  69.  
  70.         printf( "Area %d: %s\n", ++AreaNum, Area );
  71.  
  72.         fread(&Msgs, sizeof(struct MESSAGE), 1, fp);
  73.     }
  74.  
  75.     fclose( fp );
  76.     if( ferror(fp) )
  77.     {
  78.         printf( "ERROR (%d): Cannot close MESSAGES.RA\n", __LINE__ );
  79.         exit( EXIT_FAILURE );
  80.     }
  81.  
  82.     return( EXIT_SUCCESS );
  83. }
  84.