home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 632.lha / AddAssign_v1.04 / ar_funcs.c < prev   
C/C++ Source or Header  |  1992-04-27  |  2KB  |  189 lines

  1. /*
  2.     written by Alexander Rawass
  3. */
  4.  
  5. #ifdef    AR_ARP
  6.  
  7. VOID    DirName(path,dir)
  8. STRPTR    path,dir;
  9. {
  10. STRPTR    base;
  11.  
  12.     base=BaseName(path);
  13.     strncpy(dir,path,base-path);
  14. }
  15.  
  16. #endif
  17.  
  18. VOID    VolumeName(path,volume)
  19. STRPTR    path,volume;
  20. {
  21. int    i;
  22.  
  23.     i=0;
  24.  
  25.     do{
  26.         volume[i]=path[i];
  27.         i++;
  28.     }while(path[i-1]!=EOS && path[i-1]!=':');
  29.     
  30.     volume[i]=EOS;
  31.     if(volume[0]==':' || path[i-1]==EOS)    volume[0]=EOS;
  32. }
  33.  
  34. VOID    StrUpper(str)
  35. STRPTR    str;
  36. {
  37.     int    i;
  38.  
  39.     for(i=0;i<strlen(str);i++){
  40.         if(str[i]>='a' && str[i]<='z')    str[i]-=32;
  41.     }
  42. }
  43.  
  44. VOID    UpperArgs(argc,argv)
  45. int    argc;
  46. STRPTR    argv[];
  47. {
  48. int    i;
  49.  
  50.     for(i=0;i<argc;i++){
  51.         StrUpper(argv[i]);
  52.     }
  53. }
  54.  
  55. STRPTR    BSTRS(bstr)
  56. REG    STRPTR    bstr;
  57. {
  58.     bstr=BADDR(bstr);
  59.     bstr[bstr[0]+1]=EOS;
  60.     return(bstr+1);
  61. }
  62.  
  63. #ifdef    AR_STDIO
  64. BOOL    fexists(name)
  65. STRPTR    name;
  66. {
  67. FILE    *fh;
  68.  
  69.     fh=fopen(name,"r");
  70.     if(fh){
  71.         FCLOSEC(fh);
  72.         return(TRUE);
  73.     }
  74.     else{
  75.         return(FALSE);
  76.     }
  77. }
  78.  
  79. LONG    flength(fh)
  80. FILE    *fh;
  81. {
  82. LONG    flen,opos;
  83.  
  84.     opos=ftell(fh);        /* alte position */
  85.     fseek(fh,0,2);        /* nach hinten setzen */
  86.     flen=ftell(fh);        /* länge holen */
  87.     fseek(fh,opos,0);    /* alte position wieder setzen */
  88.  
  89.     return(flen);
  90. }
  91.  
  92. #endif
  93.  
  94. #ifdef    AR_INTEL
  95.  
  96. ULONG    peekl_intel(adr)
  97. char    *adr;
  98. {
  99.     UBYTE    b0,b1,b2,b3;
  100.     ULONG    l0,l1,l2,l3;
  101.     ULONG    erg=0;
  102.  
  103.     b3=*(adr+0);
  104.     b2=*(adr+1);
  105.     b1=*(adr+2);
  106.     b0=*(adr+3);
  107.     
  108.     l0=b0<<24;
  109.     l1=b1<<16;
  110.     l2=b2<<8;
  111.     l3=b3;
  112.     
  113.     erg=l3 | l2 | l1 | l0;
  114.  
  115.     return(erg);
  116. }
  117.  
  118. UWORD    peekw_intel(adr)
  119. char    *adr;
  120. {
  121.     UBYTE    b0,b1;
  122.     UWORD    l0,l1;
  123.     UWORD    erg=0;
  124.  
  125.     b1=*(adr+0);
  126.     b0=*(adr+1);
  127.     
  128.     l0=b0<<8;
  129.     l1=b1;
  130.     
  131.     erg=l1 | l0;
  132.  
  133.     return(erg);
  134. }
  135.  
  136. ULONG    pokel_intel(adr,lword)
  137. char    *adr;
  138. ULONG    lword;
  139. {
  140.  
  141.     ULONG    l0007,l0815,l1623,l2431;
  142.     UBYTE    b0007,b0815,b1623,b2431;
  143.     ULONG    erg;
  144.  
  145.     l0007=lword & (0xff);
  146.     l0815=lword & (0xff00);
  147.     l1623=lword & (0xff0000);
  148.     l2431=lword & (0xff000000);
  149.     
  150.     b0007=l0007;
  151.     b0815=l0815>>8;
  152.     b1623=l1623>>16;
  153.     b2431=l2431>>24;
  154.  
  155.     *(adr+0)=b0007;
  156.     *(adr+1)=b0815;
  157.     *(adr+2)=b1623;
  158.     *(adr+3)=b2431;
  159.     
  160.     erg=peekl_intel(adr);
  161.     
  162.     return(erg);
  163. }
  164.  
  165. ULONG    pokew_intel(adr,wword)
  166. char    *adr;
  167. UWORD    wword;
  168. {
  169.  
  170.     UWORD    w0007,w0815;
  171.     UBYTE    b0007,b0815;
  172.     UWORD    erg;
  173.     
  174.     w0007=wword & (0xff);
  175.     w0815=wword & (0xff00);
  176.     
  177.     b0007=w0007;
  178.     b0815=w0815>>8;
  179.  
  180.     *(adr+0)=b0007;
  181.     *(adr+1)=b0815;
  182.     
  183.     erg=peekw_intel(adr);
  184.     
  185.     return(erg);
  186. }
  187.  
  188. #endif
  189.