⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 atari.c

📁 《汇编源代码大全》
💻 C
字号:
/* * ATARI.C * * Necessary interface functions, mostly for conversion * of path names. (Is this *really* necessary? The C library should * do this -- Jean-loup.) */#ifdef ATARI_ST#include <stdio.h>#include <stdlib.h>#include <tos.h>#include <ext.h>#define FNMAX 256#define OF(sig) sigchar *st_fn OF((char *));char *st_fn(s)char *s;{static char tosname [ FNMAX ];char *t = tosname;  while ( *t=*s++ ) {    if ( *t == '/' )      *t = '\\';    t++;  }    return(tosname);}int st_unlink(f)char *f;{  return(unlink(st_fn(f)));}/* Fake chmod with minimalistic functionality. * [ anyway people will be in trouble with the readonly files *   produces by this, since 'normal' users don't own the *   'tools' to manipulate these. ] */int st_chmod(f, a)char *f;                /* file path */int a;                  /* attributes returned by getfileattr() *//* Give the file f the attributes a, return non-zero on failure */{  if ( ! ( a & S_IWRITE ) )    if (Fattrib(st_fn(f), 1, FA_READONLY) < 0 )      return(-1);  return 0;}/* * mktemp is not part of the Turbo C library. */ char *st_mktemp(s)char *s;{char *t;long i;  for(t=s; *t; t++)    if ( *t == '/' )      *t = '\\';  t -= 6;  i = (unsigned long)s % 1000000L;  do {    sprintf(t, "%06ld", i++);  } while ( Fsfirst(s, 0x21) == 0 );  return(s);}FILE *st_fopen(f,m)char *f;char *m;{  return(fopen(st_fn(f),m));}int st_open(f,m)char *f;int m;{  return(open(st_fn(f),m));}int st_stat(f, b)char *f;struct stat *b;{  return(stat(st_fn(f),b));}int st_findfirst(n,d,a)char *n;struct ffblk *d;int a;{  return(findfirst( st_fn(n),(struct ffblk *)d,a));}int st_rename(s, d)char *s, *d;{char tosname [ FNMAX ];char *t = tosname;  while ( *t=*s++ ) {    if ( *t == '/' )      *t = '\\';    t++;  }  return(rename(tosname, st_fn(d)));}  int st_rmdir(d)char *d;{  return(Ddelete(st_fn(d)));}#endif /* ?ATARI_ST */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -