diskwrtf.c
上传用户:szhypcb168
上传日期:2007-01-06
资源大小:2187k
文件大小:2k
源码类别:

语音压缩

开发平台:

Unix_Linux

  1. /*  ----------------------  DATA FILE WRITE ROUTINES  ----------------------  */
  2. /*  -----------------------  Sun FORTRAN Interface  ------------------------  */
  3. /*  ------------------  Interface Version 1.0   May 1988  ------------------  *
  4. /*  ------------------------------------------------------------------------  */
  5. #include "diskio.h"
  6. /*  -------------------------  OPEN FILE ROUTINE  -------------------------  */
  7. open_file_ ( filename, open_type_p, fn_leng )
  8. char filename[];
  9. int *open_type_p, fn_leng;
  10. {
  11.    char *add_null();
  12.    return( open_file(add_null(filename, fn_leng), *open_type_p) );
  13. }
  14. /*  ----------------------  DEFINE VARIABLE ROUTINE  ----------------------  */
  15. def_variable_ ( file_id_p, name, type_p, number_p, def_val, name_leng )
  16. char name[], def_val[];
  17. int *file_id_p, *type_p, *number_p, name_leng;
  18. {
  19.    char *add_null();
  20.    return( def_variable(*file_id_p, add_null(name, name_leng), *type_p, *number_p, def_val) );
  21. }
  22. /*  -----------------------  SAVE VARIABLE ROUTINE  -----------------------  */
  23. save_variable_ ( var_id_p, values, num_p )
  24. char values[];
  25. int *var_id_p, *num_p;
  26. {
  27.    return( save_variable(*var_id_p, values, *num_p) );
  28. }
  29. /*  -------------------------  END BLOCK ROUTINE  -------------------------  */
  30. end_block_ ( file_id_p )
  31. int *file_id_p;
  32. {
  33.    return( end_block(*file_id_p) );
  34. }
  35. /*  -------------------------  CLOSE FILE ROUTINE  -------------------------  */
  36. close_file_ ( file_id_p )
  37. int *file_id_p;
  38. {
  39.    return( close_file(*file_id_p) );
  40. }
  41. /*  ---------------------  DISK WRITE ERROR ROUTINES  ---------------------  */
  42. print_disk_write_error_ ( err_num_p )
  43. int *err_num_p;
  44. {
  45.    print_disk_write_error(*err_num_p);
  46.    return;
  47. }
  48. /*  ------------------------------  add_null  ------------------------------  */
  49. #define MAX_STRING_LENGTH   100
  50. static char *add_null(string, length)
  51. char string[];
  52. int length;
  53. {
  54.    static char ts[MAX_STRING_LENGTH + 1];
  55.    int i;
  56.    if (length > MAX_STRING_LENGTH) length = MAX_STRING_LENGTH;
  57.    for (i=0; i<length; i++) ts[i] = string[i]; /* copy input string */
  58.    ts[length] = '';               /* and terminate it with a null */
  59.    i = length - 1;      /* start at end of string */
  60.    while (ts[i] == ' ') ts[i--] = '';  /* change trailing blanks to nulls */
  61.    return(ts);
  62. }