home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0010 - 0019 / ibm0010-0019 / ibm0010.tar / ibm0010 / CODE4-1.ZIP / SOURCE.ZIP / M4CONVER.C < prev    next >
Encoding:
C/C++ Source or Header  |  1989-10-14  |  2.2 KB  |  101 lines

  1. /* m4convert.c   (c)Copyright Sequiter Software Inc., 1987, 1988, 1989.  All rights reserved. */
  2.  
  3. #include "d4base.h"
  4. #include "u4error.h"
  5.  
  6. #include <string.h>
  7. #ifndef UNIX
  8.    #include <io.h>
  9. #endif
  10.  
  11. typedef  struct
  12. {
  13.    long  next_block ;
  14.    char  zero[4] ;
  15.    char  file_name[8] ;
  16.    char  zero2[2] ;
  17.    int   x102 ;
  18.    int   block_size ;
  19.    char  zero3[2] ;
  20. }  MEMO_HEADER ;
  21.  
  22.  
  23. m4renamed( file_name )
  24. char *file_name ;
  25. {
  26.    int   rc, hand ;
  27.    MEMO_HEADER  hdr ;
  28.    char  name[90] ;
  29.  
  30.    u4name_full( name, file_name, "DBT" ) ;
  31.    hand =  u4open( name, 0 ) ;
  32.    if ( hand < 0 )  return -1 ;
  33.  
  34.    lseek( hand, 0L, 0 ) ;
  35.    rc =  read( hand, (char *) &hdr, (unsigned int) sizeof(hdr) ) ;
  36.    if ( rc != (int) sizeof(hdr) )
  37.    {
  38.       u4error( E_READ, "Memo File: ", file_name, (char *) 0 ) ;
  39.       return -1 ;
  40.    }
  41.  
  42.    u4name_part( hdr.file_name, file_name, 0,0 ) ;
  43.    strupr( hdr.file_name ) ;
  44.  
  45.    lseek( hand, 0L, 0 ) ;
  46.    rc =  write( hand, (char *) &hdr, (unsigned int) sizeof(hdr) ) ;
  47.    if ( rc != (int) sizeof(hdr) )
  48.    {
  49.       u4error( E_WRITE, "Memo File: ", file_name, (char *) 0 ) ;
  50.       return -1 ;
  51.    }
  52.  
  53.    close( hand ) ;
  54.  
  55.    return 0 ;
  56. }
  57.  
  58.  
  59. m4convert( file_name )
  60. char *file_name ;
  61. {
  62.    char   memo_name[90] ;
  63.    int    hand, rc ;
  64.    MEMO_HEADER  m_hdr ;
  65.  
  66.    memset( (char *) &m_hdr, 0, sizeof(m_hdr) ) ;
  67.  
  68.    u4name_part( memo_name, file_name, 1,0 ) ;
  69.    u4name_full( memo_name, memo_name, ".DBT" ) ;
  70.  
  71.    hand =  u4open( memo_name, 0 ) ;
  72.    if ( hand < 0 )  return -1 ;
  73.  
  74.    lseek( hand, 0L, 0 ) ;
  75.    rc =  read( hand, (char *) &m_hdr, (unsigned int) sizeof(long) ) ;
  76.    if ( rc != sizeof(long) )
  77.    {
  78.       u4error( E_READ, "Memo File: ", file_name, (char *) 0 ) ;
  79.       return -1 ;
  80.    }
  81.  
  82.    m_hdr.next_block =     1L ;
  83.    u4name_part( m_hdr.file_name, file_name, 0,0 ) ;
  84.    strupr( m_hdr.file_name ) ;
  85.    m_hdr.x102       =  0x102 ;
  86.    m_hdr.block_size =  0x200 ;  /* 512 */
  87.  
  88.    lseek( hand, 0L, 0 ) ;
  89.    if ( write( hand, (char *) &m_hdr, (unsigned int) sizeof(m_hdr))
  90.                  != (int) sizeof(m_hdr) )
  91.    {
  92.       close( hand ) ;
  93.       u4error( E_WRITE, memo_name, (char *) 0 ) ;
  94.       return( -1 ) ;
  95.    }
  96.  
  97.    close( hand ) ;
  98.  
  99.    return 0 ;
  100. }
  101.