home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / CMDS / pvic_10a.lzh / SRCE / general.c < prev    next >
C/C++ Source or Header  |  1998-05-10  |  3KB  |  221 lines

  1. #include <stdio.h>
  2. #include "pvic.h"
  3. #include "locdefs.h"
  4.  
  5.  
  6. /* Sound a beep. */
  7. void beep()
  8. {
  9.     if(PARAMETER_VALUE(PARAMETER_ERRORBELLS))
  10.         termcap_out(termcap_bell);
  11.     fflush(stdout);
  12. }
  13.  
  14.  
  15. /* Loop for a while. */
  16. void loop_n_seconds(seconds)
  17. int seconds;
  18. {
  19.     long t;
  20.  
  21.     fflush(stdout);
  22.  
  23.     t=time(NULL);
  24.     while(time(NULL)<t+1+seconds);
  25. }
  26.  
  27.  
  28.  
  29. /* Initialization of PVIC. */
  30. void pvic_init()
  31. {
  32.     init_termcap();
  33.     current_lines=PARAMETER_VALUE(PARAMETER_LINES)=termcap_lines;
  34.     current_columns=termcap_columns;
  35.     local_init();
  36.     local_init_terminal_io();
  37.     termcap_out(termcap_init_terminal);
  38.     init_translate_table();
  39. }
  40.  
  41.  
  42. /* Exit PVIC. Return return_value to the operating system. */
  43. void pvic_exit(return_value)
  44. int return_value;
  45. {
  46.     termcap_out(termcap_deinit_terminal);
  47.     local_deinit_terminal_io();
  48.     local_deinit();
  49.     exit(return_value);
  50. }
  51.  
  52.  
  53.  
  54.  
  55.  
  56. /* Execute cmd as child process. If cmd is NULL a shell is executed. */
  57. void do_shell(cmd)
  58. char    *cmd;
  59. {
  60.     if (cmd == NULL) cmd = shell_name;
  61.  
  62.     local_deinit_terminal_io();
  63.     local_system(cmd);
  64.     local_init_terminal_io();
  65.     wait_return();
  66. }
  67.  
  68.  
  69.  
  70.  
  71.  
  72. /* Put the cursor on possition r,c. */
  73. void goto_screen_pos(r, c)         /* Move cursor to r'ow & c'olumn */
  74. register int    r, c;
  75. {
  76.  
  77.     termcap_out(termcap_cursor_address,r,c);
  78.     fflush(stdout);
  79.     return;
  80.  
  81. }
  82.  
  83.  
  84.  
  85. /* Get a pointer to the first character in string which is equal
  86. to chr. If there is no such character, NULL is returned. */
  87. char *get_pointer_to_chr_in_string(string,chr)
  88. char string[];
  89. char chr;
  90. {
  91.     int i;
  92.  
  93.     for(i=0;string[i]!='\0';i++)if(string[i]==chr)return &string[i];
  94.     return NULL;
  95. }
  96.  
  97.  
  98.  
  99. /* Get the offset in s1 of the first character which also appears in s2. */ 
  100. int get_offset_of_chr_in_s1_matching_chr_in_s2(s1,s2)
  101. char s1[];
  102. char s2[];
  103. {
  104.     int i,j;
  105.  
  106.     for(i=0;s1[i]!=0;i++)
  107.     {
  108.         for(j=0;s2[j]!='\0';j++)if(s1[i]==s2[j])return i;
  109.     }
  110.     return i;
  111. }
  112.  
  113.  
  114.  
  115. /* Convert c to lower case. */
  116. char to_lower(c)
  117. char c;
  118. {
  119.     if('A'<=c && c<='Z')return c-'A'+'a';
  120.     else return c;
  121. }
  122.  
  123.  
  124.  
  125. /* Convert c to upper case. */
  126. char to_upper(c)
  127. char c;
  128. {
  129.     if('a'<=c && c<='z')return c-'a'+'A';
  130.     else return c;
  131. }
  132.  
  133.  
  134.  
  135. /* Return non-zero if c is an upper case character. */
  136. int is_upper(c)
  137. char c;
  138. {
  139.     if('A'<=c && c<='Z')return 1;
  140.     else return 0;
  141. }
  142.  
  143.  
  144.  
  145. /* Return non-zero if c is an lower case character. */
  146. int is_lower(c)
  147. char c;
  148. {
  149.     if('a'<=c && c<='z')return 1;
  150.     else return 0;
  151. }
  152.  
  153.  
  154.  
  155. /* Return non-zero if c is an alphabetic character. */
  156. int is_alpha(c)
  157. char c;
  158. {
  159.     if('A'<=c && c<='Z' || 'a'<=c && c<='z')return 1;
  160.     else return 0;
  161. }
  162.  
  163.  
  164.  
  165.  
  166. /* Return non-zero if c is a white space character. */
  167. int is_space(c)
  168. char c;
  169. {
  170.     if(c==' ' || c=='\t' || c=='\n' || c=='\r' || c=='\f')return 1;
  171.     else return 0;
  172. }
  173.  
  174.  
  175.  
  176. /* Return non-zero if c is a digit. */
  177. int is_digit(c)
  178. char c;
  179. {
  180.     if('0'<=c && c<='9')return 1;
  181.     else return 0;
  182. }
  183.  
  184.  
  185.  
  186. /* Copy the file named old_name to new_name, and delete old_name. */
  187. void rename_file(old_name,new_name)
  188. char *old_name,*new_name;
  189. {
  190.     FILE *old_fp,*new_fp;
  191.     char buffer[1024];
  192.     int n;
  193.  
  194.     /* Open old file. If there is no old file, there is nothing to
  195.     do. */
  196.     if( (old_fp=fopen(old_name,"r"))==NULL )return;
  197.  
  198.     /* Open new file. */
  199.     if( (new_fp=fopen(new_name,"w"))!=NULL )
  200.     {
  201.         /* Copy file. */
  202.         while(!feof(old_fp))
  203.         {
  204.                n=fread(buffer,1,1024,old_fp);
  205.                fwrite(buffer,1,n,new_fp);
  206.         }
  207.  
  208.         /* Close new file. */
  209.         fclose(new_fp);
  210.     }
  211.  
  212.     /* Close old file. */
  213.     close(old_fp);
  214.  
  215.     /* Delete old file. */
  216.     unlink(old_name);
  217.  
  218.     /* Ready. */
  219.     return;
  220. }
  221.