mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
570 lines
16 KiB
Text
570 lines
16 KiB
Text
set prototyped
|
|
ref -D_def_map_ast=1
|
|
iff SFSTDIO
|
|
cat{
|
|
#define __FILE_typedef 1
|
|
#define _FILE_DEFINED 1
|
|
#define _FILE_defined 1
|
|
#define _FILEDEFED 1
|
|
#define __FILE_defined 1
|
|
#define ____FILE_defined 1
|
|
|
|
#ifndef __FILE_TAG
|
|
#define __FILE_TAG _sfio_s
|
|
#endif
|
|
|
|
#undef FILE
|
|
#undef _FILE
|
|
#undef fpos_t
|
|
#undef fpos64_t
|
|
|
|
typedef struct _sfio_s _sfio_FILE;
|
|
|
|
#define FILE _sfio_FILE
|
|
#define _FILE FILE
|
|
|
|
#if !defined(__FILE) && !__CYGWIN__
|
|
#undef __FILE
|
|
#define __FILE FILE
|
|
#endif
|
|
|
|
#if defined(_AST_H) || defined(_SFIO_H)
|
|
|
|
#define BUFSIZ SF_BUFSIZE
|
|
|
|
#else
|
|
|
|
#ifndef BUFSIZ
|
|
#define BUFSIZ 8192
|
|
#endif
|
|
|
|
#ifndef EOF
|
|
#define EOF (-1)
|
|
#endif
|
|
|
|
#ifndef NULL
|
|
#define NULL 0
|
|
#endif
|
|
|
|
#ifndef SEEK_SET
|
|
#define SEEK_SET 0
|
|
#define SEEK_CUR 1
|
|
#define SEEK_END 2
|
|
#endif
|
|
|
|
#include <ast_std.h>
|
|
|
|
#include <sfio_s.h>
|
|
|
|
#if __cplusplus
|
|
#define _sf_(f) (f)
|
|
#else
|
|
#define _sf_(f) ((struct _sfio_s*)(f))
|
|
#endif
|
|
|
|
#define _SF_EOF 0000200
|
|
#define _SF_ERROR 0000400
|
|
|
|
#endif
|
|
|
|
#ifdef _NO_LARGEFILE64_SOURCE
|
|
#undef _LARGEFILE64_SOURCE
|
|
#endif
|
|
|
|
#ifdef _LARGEFILE64_SOURCE
|
|
#undef off_t
|
|
#endif
|
|
|
|
#define fpos_t _ast_fpos_t
|
|
#if _typ_int64_t
|
|
#define fpos64_t _ast_fpos_t
|
|
#endif
|
|
|
|
typedef struct _ast_fpos_s
|
|
{
|
|
intmax_t _sf_offset;
|
|
unsigned char _sf_state[64 - sizeof(intmax_t)];
|
|
} _ast_fpos_t;
|
|
|
|
#define _base _data
|
|
#define _ptr _next
|
|
#define _IOFBF 0
|
|
#define _IONBF 1
|
|
#define _IOLBF 2
|
|
|
|
#if defined(__cplusplus) && defined(__THROW) && !defined(_UWIN)
|
|
|
|
#undef FILE
|
|
#define FILE FILE
|
|
typedef struct _sfio_s FILE;
|
|
|
|
#undef strerror
|
|
extern char* strerror(int) __THROW;
|
|
|
|
extern int _doprnt(const char*, va_list, FILE*);
|
|
extern int _doscan(FILE*, const char*, va_list);
|
|
extern int asprintf(char**, const char*, ...);
|
|
extern int clearerr(FILE*);
|
|
extern int fclose(FILE*);
|
|
extern FILE* fdopen(int, const char*);
|
|
extern int feof(FILE*);
|
|
extern int ferror(FILE*);
|
|
extern int fflush(FILE*);
|
|
extern int fgetc(FILE*);
|
|
extern int fgetpos(FILE*, fpos_t*);
|
|
extern char* fgets(char*, int, FILE*);
|
|
extern int fileno(FILE*);
|
|
extern FILE* fopen(const char*, const char*);
|
|
extern int fprintf(FILE*, const char*, ...);
|
|
extern int fpurge(FILE*);
|
|
extern int fputc(int, FILE*);
|
|
extern int fputs(const char*, FILE*);
|
|
extern size_t fread(void*, size_t, size_t, FILE*);
|
|
extern FILE* freopen(const char*, const char*, FILE*);
|
|
extern int fscanf(FILE*, const char*, ...);
|
|
extern int fseek(FILE*, long, int);
|
|
extern int fseeko(FILE*, off_t, int);
|
|
extern int fsetpos(FILE*, const fpos_t*);
|
|
extern long ftell(FILE*);
|
|
extern off_t ftello(FILE*);
|
|
extern size_t fwrite(const void*, size_t, size_t, FILE*);
|
|
extern int getc(FILE*);
|
|
extern int getchar(void);
|
|
extern char* gets(char*);
|
|
extern int getw(FILE*);
|
|
extern int pclose(FILE*);
|
|
extern FILE* popen(const char*, const char*);
|
|
extern int printf(const char*, ...);
|
|
extern int putc(int, FILE*);
|
|
extern int putchar(int);
|
|
extern int puts(const char*);
|
|
extern int putw(int, FILE*);
|
|
extern void rewind(FILE*);
|
|
extern int scanf(const char*, ...);
|
|
extern void setbuf(FILE*, char*);
|
|
extern int setbuffer(FILE*, char*, int);
|
|
extern int setlinebuf(FILE*);
|
|
extern int setvbuf(FILE*, char*, int, size_t);
|
|
extern int snprintf(char*, int, const char*, ...);
|
|
extern int sprintf(char*, const char*, ...);
|
|
extern int sscanf(const char*, const char*, ...);
|
|
extern FILE* tmpfile(void);
|
|
extern int ungetc(int, FILE*);
|
|
extern int vasprintf(char**, const char*, va_list);
|
|
extern int vfprintf(FILE*, const char*, va_list);
|
|
extern int vfscanf(FILE*, const char*, va_list);
|
|
extern int vprintf(const char*, va_list);
|
|
extern int vscanf(const char*, va_list);
|
|
extern int vsnprintf(char*, int, const char*, va_list);
|
|
extern int vsprintf(char*, const char*, va_list);
|
|
extern int vsscanf(const char*, const char*, va_list);
|
|
|
|
#if _typ_int64_t
|
|
|
|
extern int fgetpos64(FILE*, fpos64_t*);
|
|
extern int fsetpos64(FILE*, const fpos64_t*);
|
|
extern int fseek64(FILE*, int64_t, int);
|
|
extern int fseeko64(FILE*, int64_t, int);
|
|
extern int64_t ftell64(FILE*);
|
|
extern int64_t ftello64(FILE*);
|
|
|
|
#endif
|
|
|
|
extern void clearerr_unlocked(FILE*);
|
|
extern int feof_unlocked(FILE*);
|
|
extern int ferror_unlocked(FILE*);
|
|
extern int fflush_unlocked(FILE*);
|
|
extern int fgetc_unlocked(FILE*);
|
|
extern char* fgets_unlocked(char*, int, FILE*);
|
|
extern int fileno_unlocked(FILE*);
|
|
extern int fputc_unlocked(int, FILE*);
|
|
extern int fputs_unlocked(char*, FILE*);
|
|
extern size_t fread_unlocked(void*, size_t, size_t, FILE*);
|
|
extern size_t fwrite_unlocked(void*, size_t, size_t, FILE*);
|
|
extern int getc_unlocked(FILE*);
|
|
extern int getchar_unlocked(void);
|
|
extern int putc_unlocked(int, FILE*);
|
|
extern int putchar_unlocked(int);
|
|
|
|
extern void flockfile(FILE*);
|
|
extern int ftrylockfile(FILE*);
|
|
extern void funlockfile(FILE*);
|
|
|
|
#ifdef _USE_GNU
|
|
|
|
extern int fcloseall(void);
|
|
extern FILE* fmemopen(void*, size_t, const char*);
|
|
extern ssize_t __getdelim(char**, size_t*, int, FILE*);
|
|
extern ssize_t getdelim(char**, size_t*, int, FILE*);
|
|
extern ssize_t getline(char**, size_t*, FILE*);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
}end
|
|
output{
|
|
#include <stdio.h>
|
|
#ifndef FILENAME_MAX
|
|
#ifndef NAME_MAX
|
|
#ifndef _POSIX_NAME_MAX
|
|
#define _POSIX_NAME_MAX 14
|
|
#endif
|
|
#define NAME_MAX _POSIX_NAME_MAX
|
|
#endif
|
|
#define FILENAME_MAX NAME_MAX
|
|
#endif
|
|
#ifndef FOPEN_MAX
|
|
#ifdef STREAM_MAX
|
|
#define FOPEN_MAX STREAM_MAX
|
|
#else
|
|
#ifndef OPEN_MAX
|
|
#ifndef _POSIX_OPEN_MAX
|
|
#define _POSIX_OPEN_MAX 20
|
|
#endif
|
|
#define OPEN_MAX _POSIX_OPEN_MAX
|
|
#endif
|
|
#define FOPEN_MAX OPEN_MAX
|
|
#endif
|
|
#endif
|
|
#ifndef TMP_MAX
|
|
#define TMP_MAX 33520641
|
|
#endif
|
|
int
|
|
main()
|
|
{
|
|
printf("#ifndef FILENAME_MAX\n");
|
|
printf("#define FILENAME_MAX %d\n", FILENAME_MAX);
|
|
printf("#endif\n");
|
|
printf("#ifndef FOPEN_MAX\n");
|
|
printf("#define FOPEN_MAX %d\n", FOPEN_MAX);
|
|
printf("#endif\n");
|
|
printf("#ifndef TMP_MAX\n");
|
|
printf("#define TMP_MAX %d\n", TMP_MAX);
|
|
printf("#endif\n");
|
|
#if !_UWIN
|
|
printf("\n");
|
|
printf("#define _doprnt _ast_doprnt\n");
|
|
printf("#define _doscan _ast_doscan\n");
|
|
printf("#define asprintf _ast_asprintf\n");
|
|
printf("#define clearerr _ast_clearerr\n");
|
|
printf("#define fclose _ast_fclose\n");
|
|
printf("#define fdopen _ast_fdopen\n");
|
|
printf("#define fflush _ast_fflush\n");
|
|
printf("#define fgetc _ast_fgetc\n");
|
|
printf("#define fgetpos _ast_fgetpos\n");
|
|
printf("#define fgetpos64 _ast_fgetpos64\n");
|
|
printf("#define fgets _ast_fgets\n");
|
|
printf("#define fopen _ast_fopen\n");
|
|
printf("#define fprintf _ast_fprintf\n");
|
|
printf("#define fpurge _ast_fpurge\n");
|
|
printf("#define fputs _ast_fputs\n");
|
|
printf("#define fread _ast_fread\n");
|
|
printf("#define freopen _ast_freopen\n");
|
|
printf("#define fscanf _ast_fscanf\n");
|
|
printf("#define fseek _ast_fseek\n");
|
|
printf("#define fseek64 _ast_fseek64\n");
|
|
printf("#define fseeko _ast_fseeko\n");
|
|
printf("#define fseeko64 _ast_fseeko64\n");
|
|
printf("#define fsetpos _ast_fsetpos\n");
|
|
printf("#define fsetpos64 _ast_fsetpos64\n");
|
|
printf("#define ftell _ast_ftell\n");
|
|
printf("#define ftell64 _ast_ftell64\n");
|
|
printf("#define ftello _ast_ftello\n");
|
|
printf("#define ftello64 _ast_ftello64\n");
|
|
printf("#define fwrite _ast_fwrite\n");
|
|
printf("#define gets _ast_gets\n");
|
|
printf("#define getw _ast_getw\n");
|
|
printf("#define pclose _ast_pclose\n");
|
|
printf("#define popen _ast_popen\n");
|
|
printf("#define printf _ast_printf\n");
|
|
printf("#define puts _ast_puts\n");
|
|
printf("#define putw _ast_putw\n");
|
|
printf("#define rewind _ast_rewind\n");
|
|
printf("#define scanf _ast_scanf\n");
|
|
printf("#define setbuf _ast_setbuf\n");
|
|
printf("#undef setbuffer\n");
|
|
printf("#define setbuffer _ast_setbuffer\n");
|
|
printf("#define setlinebuf _ast_setlinebuf\n");
|
|
printf("#define setvbuf _ast_setvbuf\n");
|
|
printf("#define snprintf _ast_snprintf\n");
|
|
printf("#define sprintf _ast_sprintf\n");
|
|
printf("#define sscanf _ast_sscanf\n");
|
|
printf("#define tmpfile _ast_tmpfile\n");
|
|
printf("#define ungetc _ast_ungetc\n");
|
|
printf("#define vasprintf _ast_vasprintf\n");
|
|
printf("#define vfprintf _ast_vfprintf\n");
|
|
printf("#define vfscanf _ast_vfscanf\n");
|
|
printf("#define vprintf _ast_vprintf\n");
|
|
printf("#define vscanf _ast_vscanf\n");
|
|
printf("#define vsnprintf _ast_vsnprintf\n");
|
|
printf("#define vsprintf _ast_vsprintf\n");
|
|
printf("#define vsscanf _ast_vsscanf\n");
|
|
|
|
printf("#define fcloseall _ast_fcloseall\n");
|
|
printf("#define _filbuf _ast__filbuf\n");
|
|
printf("#define fmemopen _ast_fmemopen\n");
|
|
printf("#define __getdelim _ast___getdelim\n");
|
|
printf("#define getdelim _ast_getdelim\n");
|
|
printf("#define getline _ast_getline\n");
|
|
|
|
printf("#define clearerr_unlocked _ast_clearerr_unlocked\n");
|
|
printf("#define feof_unlocked _ast_feof_unlocked\n");
|
|
printf("#define ferror_unlocked _ast_ferror_unlocked\n");
|
|
printf("#define fflush_unlocked _ast_fflush_unlocked\n");
|
|
printf("#define fgetc_unlocked _ast_fgetc_unlocked\n");
|
|
printf("#define fgets_unlocked _ast_fgets_unlocked\n");
|
|
printf("#define fileno_unlocked _ast_fileno_unlocked\n");
|
|
printf("#define fputc_unlocked _ast_fputc_unlocked\n");
|
|
printf("#define fputs_unlocked _ast_fputs_unlocked\n");
|
|
printf("#define fread_unlocked _ast_fread_unlocked\n");
|
|
printf("#define fwrite_unlocked _ast_fwrite_unlocked\n");
|
|
printf("#define getc_unlocked _ast_getc_unlocked\n");
|
|
printf("#define getchar_unlocked _ast_getchar_unlocked\n");
|
|
printf("#define putc_unlocked _ast_putc_unlocked\n");
|
|
printf("#define putchar_unlocked _ast_putchar_unlocked\n");
|
|
|
|
printf("#define flockfile _ast_flockfile\n");
|
|
printf("#define ftrylockfile _ast_ftrylockfile\n");
|
|
printf("#define funlockfile _ast_funlockfile\n");
|
|
|
|
printf("\n");
|
|
#endif
|
|
return 0;
|
|
}
|
|
}end
|
|
macro{
|
|
<<"#if defined(__STDPP__directive) && defined(__STDPP__initial)">>
|
|
<<"__STDPP__directive pragma pp:initial">>
|
|
<<"#endif">>
|
|
<<"#ifndef P_tmpdir">>
|
|
#ifndef P_tmpdir
|
|
#define P_tmpdir "/usr/tmp/"
|
|
#endif
|
|
<<"#define P_tmpdir">> P_tmpdir <<"/*NOCATLITERAL*/">>
|
|
<<"#endif">>
|
|
<<"#ifndef L_ctermid">>
|
|
#ifndef L_ctermid
|
|
#define L_ctermid 9
|
|
#endif
|
|
<<"#define L_ctermid">> L_ctermid
|
|
<<"#endif">>
|
|
<<"#ifndef L_tmpnam">>
|
|
#ifndef L_tmpnam
|
|
#define L_tmpnam (sizeof(P_tmpdir)+15)
|
|
#endif
|
|
<<"#define L_tmpnam">> L_tmpnam
|
|
<<"#endif">>
|
|
<<"#if defined(__STDPP__directive) && defined(__STDPP__initial)">>
|
|
<<"__STDPP__directive pragma pp:noinitial">>
|
|
<<"#endif">>
|
|
}end
|
|
cat{
|
|
#if defined(__cplusplus) && defined(__THROW)
|
|
extern char* ctermid(char*) __THROW;
|
|
#else
|
|
extern char* ctermid(char*);
|
|
#endif
|
|
extern char* tmpnam(char*);
|
|
extern char* tempnam(const char*, const char*);
|
|
extern void perror(const char*);
|
|
#ifndef _AST_STD_H
|
|
#ifndef remove
|
|
extern int remove(const char*);
|
|
#endif
|
|
#ifndef rename
|
|
extern int rename(const char*, const char*);
|
|
#endif
|
|
#endif
|
|
|
|
#undef extern
|
|
|
|
#if _BLD_ast && defined(__EXPORT__)
|
|
#define extern __EXPORT__
|
|
#endif
|
|
|
|
extern int _doprnt(const char*, va_list, FILE*);
|
|
extern int _doscan(FILE*, const char*, va_list);
|
|
extern int asprintf(char**, const char*, ...);
|
|
extern int clearerr(FILE*);
|
|
extern int fclose(FILE*);
|
|
extern FILE* fdopen(int, const char*);
|
|
extern int feof(FILE*);
|
|
extern int ferror(FILE*);
|
|
extern int fflush(FILE*);
|
|
extern int fgetc(FILE*);
|
|
extern int fgetpos(FILE*, fpos_t*);
|
|
extern char* fgets(char*, int, FILE*);
|
|
extern int fileno(FILE*);
|
|
extern FILE* fopen(const char*, const char*);
|
|
extern int fprintf(FILE*, const char*, ...);
|
|
extern int fpurge(FILE*);
|
|
extern int fputc(int, FILE*);
|
|
extern int fputs(const char*, FILE*);
|
|
extern size_t fread(void*, size_t, size_t, FILE*);
|
|
extern FILE* freopen(const char*, const char*, FILE*);
|
|
extern int fscanf(FILE*, const char*, ...);
|
|
extern int fseek(FILE*, long, int);
|
|
extern int fseeko(FILE*, off_t, int);
|
|
extern int fsetpos(FILE*, const fpos_t*);
|
|
extern long ftell(FILE*);
|
|
extern off_t ftello(FILE*);
|
|
extern size_t fwrite(const void*, size_t, size_t, FILE*);
|
|
extern int getc(FILE*);
|
|
extern int getchar(void);
|
|
extern char* gets(char*);
|
|
extern int getw(FILE*);
|
|
extern int pclose(FILE*);
|
|
extern FILE* popen(const char*, const char*);
|
|
extern int printf(const char*, ...);
|
|
extern int putc(int, FILE*);
|
|
extern int putchar(int);
|
|
extern int puts(const char*);
|
|
extern int putw(int, FILE*);
|
|
extern void rewind(FILE*);
|
|
extern int scanf(const char*, ...);
|
|
extern void setbuf(FILE*, char*);
|
|
extern int setbuffer(FILE*, char*, int);
|
|
extern int setlinebuf(FILE*);
|
|
extern int setvbuf(FILE*, char*, int, size_t);
|
|
extern int snprintf(char*, int, const char*, ...);
|
|
extern int sprintf(char*, const char*, ...);
|
|
extern int sscanf(const char*, const char*, ...);
|
|
extern FILE* tmpfile(void);
|
|
extern int ungetc(int, FILE*);
|
|
extern int vasprintf(char**, const char*, va_list);
|
|
extern int vfprintf(FILE*, const char*, va_list);
|
|
extern int vfscanf(FILE*, const char*, va_list);
|
|
extern int vprintf(const char*, va_list);
|
|
extern int vscanf(const char*, va_list);
|
|
extern int vsnprintf(char*, int, const char*, va_list);
|
|
extern int vsprintf(char*, const char*, va_list);
|
|
extern int vsscanf(const char*, const char*, va_list);
|
|
|
|
#if _typ_int64_t
|
|
|
|
extern int fgetpos64(FILE*, fpos64_t*);
|
|
extern int fsetpos64(FILE*, const fpos64_t*);
|
|
extern int fseek64(FILE*, int64_t, int);
|
|
extern int fseeko64(FILE*, int64_t, int);
|
|
extern int64_t ftell64(FILE*);
|
|
extern int64_t ftello64(FILE*);
|
|
|
|
#ifdef _LARGEFILE64_SOURCE
|
|
|
|
#undef fpos_t
|
|
#undef off_t
|
|
#undef fgetpos
|
|
#undef fsetpos
|
|
#undef fseek
|
|
#undef fseeko
|
|
#undef ftell
|
|
#undef ftello
|
|
|
|
#define fpos_t fpos64_t
|
|
#if _typ_off64_t
|
|
#define off_t off64_t
|
|
#else
|
|
#define off_t int64_t
|
|
#endif
|
|
|
|
#define fgetpos fgetpos64
|
|
#define fsetpos fsetpos64
|
|
#define fseek fseek64
|
|
#define fseeko fseeko64
|
|
#define ftell ftell64
|
|
#define ftello ftello64
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
extern void clearerr_unlocked(FILE*);
|
|
extern int feof_unlocked(FILE*);
|
|
extern int ferror_unlocked(FILE*);
|
|
extern int fflush_unlocked(FILE*);
|
|
extern int fgetc_unlocked(FILE*);
|
|
extern char* fgets_unlocked(char*, int, FILE*);
|
|
extern int fileno_unlocked(FILE*);
|
|
extern int fputc_unlocked(int, FILE*);
|
|
extern int fputs_unlocked(char*, FILE*);
|
|
extern size_t fread_unlocked(void*, size_t, size_t, FILE*);
|
|
extern size_t fwrite_unlocked(void*, size_t, size_t, FILE*);
|
|
extern int getc_unlocked(FILE*);
|
|
extern int getchar_unlocked(void);
|
|
extern int putc_unlocked(int, FILE*);
|
|
extern int putchar_unlocked(int);
|
|
|
|
#ifdef _USE_GNU
|
|
|
|
extern int fcloseall(void);
|
|
extern FILE* fmemopen(void*, size_t, const char*);
|
|
extern ssize_t __getdelim(char**, size_t*, int, FILE*);
|
|
extern ssize_t getdelim(char**, size_t*, int, FILE*);
|
|
extern ssize_t getline(char**, size_t*, FILE*);
|
|
|
|
#endif
|
|
|
|
#undef extern
|
|
|
|
#if _BLD_DLL && _DLL_INDIRECT_DATA
|
|
|
|
#define stdin ((FILE*)_ast_dll->_ast_stdin)
|
|
#define stdout ((FILE*)_ast_dll->_ast_stdout)
|
|
#define stderr ((FILE*)_ast_dll->_ast_stderr)
|
|
|
|
#else
|
|
|
|
#define stdin (&_Sfstdin)
|
|
#define stdout (&_Sfstdout)
|
|
#define stderr (&_Sfstderr)
|
|
|
|
#endif
|
|
|
|
#if defined(_AST_H) || defined(_SFIO_H)
|
|
|
|
#define feof(f) sfeof(f)
|
|
#define ferror(f) sferror(f)
|
|
#define fileno(f) sffileno(f)
|
|
#define fputc(c,f) sfputc(f,c)
|
|
#define getc(f) sfgetc(f)
|
|
#define getchar() sfgetc(sfstdin)
|
|
#define putc(c,f) sfputc(f,c)
|
|
#define putchar(c) sfputc(sfstdout,c)
|
|
|
|
#else
|
|
|
|
#if !_UWIN
|
|
#if _BLD_ast && defined(__EXPORT__)
|
|
#define extern extern __EXPORT__
|
|
#endif
|
|
#if !_BLD_ast && defined(__IMPORT__)
|
|
#define extern extern __IMPORT__
|
|
#endif
|
|
#endif
|
|
|
|
extern FILE _Sfstdin;
|
|
extern FILE _Sfstdout;
|
|
extern FILE _Sfstderr;
|
|
|
|
#undef extern
|
|
|
|
#define feof(f) (_sf_(f)->_flags&_SF_EOF)
|
|
#define ferror(f) (_sf_(f)->_flags&_SF_ERROR)
|
|
#define fileno(f) (_sf_(f)->_file)
|
|
#define fputc(c,f) (_sf_(f)->_next>=_sf_(f)->_endw?_sfflsbuf(_sf_(f),(int)((unsigned char)(c))):(int)(*_sf_(f)->_next++=(unsigned char)(c)))
|
|
#define getc(f) (_sf_(f)->_next>=_sf_(f)->_endr?_sffilbuf(_sf_(f),0):(int)(*_sf_(f)->_next++))
|
|
#define getchar() getc(stdin)
|
|
#define putc(c,f) fputc(c,f)
|
|
#define putchar(c) fputc(c,stdout)
|
|
|
|
#if _BLD_ast && defined(__EXPORT__)
|
|
#define extern __EXPORT__
|
|
#endif
|
|
|
|
extern int _sffilbuf(FILE*, int);
|
|
extern int _sfflsbuf(FILE*, int);
|
|
|
|
#undef extern
|
|
|
|
#endif
|
|
}end
|