home *** CD-ROM | disk | FTP | other *** search
- /*
- written by Alexander Rawass
- */
-
- #ifdef AR_ARP
-
- VOID DirName(path,dir)
- STRPTR path,dir;
- {
- STRPTR base;
-
- base=BaseName(path);
- strncpy(dir,path,base-path);
- }
-
- #endif
-
- VOID VolumeName(path,volume)
- STRPTR path,volume;
- {
- int i;
-
- i=0;
-
- do{
- volume[i]=path[i];
- i++;
- }while(path[i-1]!=EOS && path[i-1]!=':');
-
- volume[i]=EOS;
- if(volume[0]==':' || path[i-1]==EOS) volume[0]=EOS;
- }
-
- VOID StrUpper(str)
- STRPTR str;
- {
- int i;
-
- for(i=0;i<strlen(str);i++){
- if(str[i]>='a' && str[i]<='z') str[i]-=32;
- }
- }
-
- VOID UpperArgs(argc,argv)
- int argc;
- STRPTR argv[];
- {
- int i;
-
- for(i=0;i<argc;i++){
- StrUpper(argv[i]);
- }
- }
-
- STRPTR BSTRS(bstr)
- REG STRPTR bstr;
- {
- bstr=BADDR(bstr);
- bstr[bstr[0]+1]=EOS;
- return(bstr+1);
- }
-
- #ifdef AR_STDIO
- BOOL fexists(name)
- STRPTR name;
- {
- FILE *fh;
-
- fh=fopen(name,"r");
- if(fh){
- FCLOSEC(fh);
- return(TRUE);
- }
- else{
- return(FALSE);
- }
- }
-
- LONG flength(fh)
- FILE *fh;
- {
- LONG flen,opos;
-
- opos=ftell(fh); /* alte position */
- fseek(fh,0,2); /* nach hinten setzen */
- flen=ftell(fh); /* länge holen */
- fseek(fh,opos,0); /* alte position wieder setzen */
-
- return(flen);
- }
-
- #endif
-
- #ifdef AR_INTEL
-
- ULONG peekl_intel(adr)
- char *adr;
- {
- UBYTE b0,b1,b2,b3;
- ULONG l0,l1,l2,l3;
- ULONG erg=0;
-
- b3=*(adr+0);
- b2=*(adr+1);
- b1=*(adr+2);
- b0=*(adr+3);
-
- l0=b0<<24;
- l1=b1<<16;
- l2=b2<<8;
- l3=b3;
-
- erg=l3 | l2 | l1 | l0;
-
- return(erg);
- }
-
- UWORD peekw_intel(adr)
- char *adr;
- {
- UBYTE b0,b1;
- UWORD l0,l1;
- UWORD erg=0;
-
- b1=*(adr+0);
- b0=*(adr+1);
-
- l0=b0<<8;
- l1=b1;
-
- erg=l1 | l0;
-
- return(erg);
- }
-
- ULONG pokel_intel(adr,lword)
- char *adr;
- ULONG lword;
- {
-
- ULONG l0007,l0815,l1623,l2431;
- UBYTE b0007,b0815,b1623,b2431;
- ULONG erg;
-
- l0007=lword & (0xff);
- l0815=lword & (0xff00);
- l1623=lword & (0xff0000);
- l2431=lword & (0xff000000);
-
- b0007=l0007;
- b0815=l0815>>8;
- b1623=l1623>>16;
- b2431=l2431>>24;
-
- *(adr+0)=b0007;
- *(adr+1)=b0815;
- *(adr+2)=b1623;
- *(adr+3)=b2431;
-
- erg=peekl_intel(adr);
-
- return(erg);
- }
-
- ULONG pokew_intel(adr,wword)
- char *adr;
- UWORD wword;
- {
-
- UWORD w0007,w0815;
- UBYTE b0007,b0815;
- UWORD erg;
-
- w0007=wword & (0xff);
- w0815=wword & (0xff00);
-
- b0007=w0007;
- b0815=w0815>>8;
-
- *(adr+0)=b0007;
- *(adr+1)=b0815;
-
- erg=peekw_intel(adr);
-
- return(erg);
- }
-
- #endif
-