fix compile against ruby 1.9
This commit is contained in:
		
							parent
							
								
									eb05ff0760
								
							
						
					
					
						commit
						4333771fc3
					
				@ -61,6 +61,13 @@ osdir = "../../src/os/#{os}"
 | 
				
			|||||||
$CPPFLAGS += ' -I../../include' + ' -I' + osdir
 | 
					$CPPFLAGS += ' -I../../include' + ' -I' + osdir
 | 
				
			||||||
$CPPFLAGS += ' -U_FILE_OFFSET_BITS' unless is_win32
 | 
					$CPPFLAGS += ' -U_FILE_OFFSET_BITS' unless is_win32
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if RUBY_VERSION > '1.8.4'
 | 
				
			||||||
 | 
					  $CPPFLAGS += ' -DRB_HAS_RE_ERROR'
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					if RUBY_VERSION >= '1.9.0'
 | 
				
			||||||
 | 
					  $CPPFLAGS += ' -DRB_RUBY_19'
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#incase of nfs shared dir...
 | 
					#incase of nfs shared dir...
 | 
				
			||||||
unless is_win32
 | 
					unless is_win32
 | 
				
			||||||
  if File.exist?('Makefile')
 | 
					  if File.exist?('Makefile')
 | 
				
			||||||
 | 
				
			|||||||
@ -17,8 +17,12 @@
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <ruby.h>
 | 
					#include <ruby.h>
 | 
				
			||||||
#include <version.h>
 | 
					#ifdef RB_RUBY_19
 | 
				
			||||||
#include <regex.h>
 | 
					#include <ruby/re.h>
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					#include <re.h>
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <errno.h>
 | 
					#include <errno.h>
 | 
				
			||||||
#include "sigar.h"
 | 
					#include "sigar.h"
 | 
				
			||||||
#include "sigar_fileinfo.h"
 | 
					#include "sigar_fileinfo.h"
 | 
				
			||||||
@ -37,7 +41,7 @@
 | 
				
			|||||||
#define RSTRING_LEN(s) RSTRING(s)->len
 | 
					#define RSTRING_LEN(s) RSTRING(s)->len
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if (RUBY_VERSION_MAJOR >= 1) && ((RUBY_VERSION_MINOR == 8) && (RUBY_VERSION_TEENY >= 6))
 | 
					#ifdef RB_HAS_RE_ERROR
 | 
				
			||||||
#  define RB_REGEX_ERROR rb_eRegexpError
 | 
					#  define RB_REGEX_ERROR rb_eRegexpError
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
#  define RB_REGEX_ERROR rb_eArgError
 | 
					#  define RB_REGEX_ERROR rb_eArgError
 | 
				
			||||||
@ -53,6 +57,10 @@ static sigar_t *rb_sigar_get(VALUE obj)
 | 
				
			|||||||
static int rbsigar_ptql_re_impl(void *data,
 | 
					static int rbsigar_ptql_re_impl(void *data,
 | 
				
			||||||
                                char *haystack, char *needle)
 | 
					                                char *haystack, char *needle)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#ifdef RB_RUBY_19
 | 
				
			||||||
 | 
					    /* XXX no more regex.h */
 | 
				
			||||||
 | 
					    return 0;
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
    struct re_pattern_buffer *regex;
 | 
					    struct re_pattern_buffer *regex;
 | 
				
			||||||
    int len = strlen(haystack);
 | 
					    int len = strlen(haystack);
 | 
				
			||||||
    int retval;
 | 
					    int retval;
 | 
				
			||||||
@ -70,6 +78,7 @@ static int rbsigar_ptql_re_impl(void *data,
 | 
				
			|||||||
    retval = re_match(regex, haystack, len, 0, NULL);
 | 
					    retval = re_match(regex, haystack, len, 0, NULL);
 | 
				
			||||||
    re_free_pattern(regex);
 | 
					    re_free_pattern(regex);
 | 
				
			||||||
    return retval > 0;
 | 
					    return retval > 0;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define sigar_isdigit(c) \
 | 
					#define sigar_isdigit(c) \
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user