Ruby
2.0.0p247(2013-06-27revision41674)
|
00001 /********************************************************************** 00002 00003 util.h - 00004 00005 $Author: tadf $ 00006 created at: Thu Mar 9 11:55:53 JST 1995 00007 00008 Copyright (C) 1993-2007 Yukihiro Matsumoto 00009 00010 **********************************************************************/ 00011 00012 #ifndef RUBY_UTIL_H 00013 #define RUBY_UTIL_H 1 00014 00015 #if defined(__cplusplus) 00016 extern "C" { 00017 #if 0 00018 } /* satisfy cc-mode */ 00019 #endif 00020 #endif 00021 00022 #include "ruby/defines.h" 00023 #ifdef RUBY_EXTCONF_H 00024 #include RUBY_EXTCONF_H 00025 #endif 00026 00027 #ifndef _ 00028 #ifdef __cplusplus 00029 # ifndef HAVE_PROTOTYPES 00030 # define HAVE_PROTOTYPES 1 00031 # endif 00032 # ifndef HAVE_STDARG_PROTOTYPES 00033 # define HAVE_STDARG_PROTOTYPES 1 00034 # endif 00035 #endif 00036 #ifdef HAVE_PROTOTYPES 00037 # define _(args) args 00038 #else 00039 # define _(args) () 00040 #endif 00041 #ifdef HAVE_STDARG_PROTOTYPES 00042 # define __(args) args 00043 #else 00044 # define __(args) () 00045 #endif 00046 #endif 00047 00048 #if defined __GNUC__ && __GNUC__ >= 4 00049 #pragma GCC visibility push(default) 00050 #endif 00051 00052 #define scan_oct(s,l,e) ((int)ruby_scan_oct((s),(l),(e))) 00053 unsigned long ruby_scan_oct(const char *, size_t, size_t *); 00054 #define scan_hex(s,l,e) ((int)ruby_scan_hex((s),(l),(e))) 00055 unsigned long ruby_scan_hex(const char *, size_t, size_t *); 00056 00057 void ruby_qsort(void *, const size_t, const size_t, 00058 int (*)(const void *, const void *, void *), void *); 00059 00060 void ruby_setenv(const char *, const char *); 00061 void ruby_unsetenv(const char *); 00062 #undef setenv 00063 #undef unsetenv 00064 #define setenv(name,val) ruby_setenv((name),(val)) 00065 #define unsetenv(name,val) ruby_unsetenv(name) 00066 00067 char *ruby_strdup(const char *); 00068 #undef strdup 00069 #define strdup(s) ruby_strdup(s) 00070 00071 char *ruby_getcwd(void); 00072 #define my_getcwd() ruby_getcwd() 00073 00074 double ruby_strtod(const char *, char **); 00075 #undef strtod 00076 #define strtod(s,e) ruby_strtod((s),(e)) 00077 00078 #if defined _MSC_VER && _MSC_VER >= 1300 00079 #pragma warning(push) 00080 #pragma warning(disable:4723) 00081 #endif 00082 #if defined _MSC_VER && _MSC_VER >= 1300 00083 #pragma warning(pop) 00084 #endif 00085 00086 void ruby_each_words(const char *, void (*)(const char*, int, void*), void *); 00087 00088 #if defined __GNUC__ && __GNUC__ >= 4 00089 #pragma GCC visibility pop 00090 #endif 00091 00092 #if defined(__cplusplus) 00093 #if 0 00094 { /* satisfy cc-mode */ 00095 #endif 00096 } /* extern "C" { */ 00097 #endif 00098 00099 #endif /* RUBY_UTIL_H */ 00100