On Aug 14, 2007, at 05:59, unbewust wrote: > On 14 aoû¹, 11:31, Eric Hodel <drbr... / segment7.net> wrote: >> On Aug 14, 2007, at 01:49, unbewust wrote: >>> i write a C extension to Ruby, some methods are dealing with octal >>> number (bytes in english ?) for the file permission : >>> >>> ie something like that : >>> >>> 0777 or 0644 the first 0 (zero) meaning the following is a number >>> coded in octal. >>> >>> that's OK for input of octal number if for example, from ruby the >>> user >>> write : >>> >>> this_file.perms = 0777 (then with the first 0) >>> >>> i get the right number >>> >>> however, for the time being, i'm returning, for the same value : >>> >>> 777 instead of 0777 when the user wants to read the perms,, then my >>> question how to return within a C est to Ruby an integer coded in >>> octal ??? >>> >>> thought, at that time i'm usinbg INT2FIX ( ) >> >> The easiest way will probably be to use sprintf. From C, use >> rb_f_sprintf. > > OK, thanks, but i don't want to print it just have it as a return > value then you mean i can use sprintf to print to stdout and the value > will be cached by Ruby ? sprintf returns a String. You can print it with puts if you want, or use it later. -- Poor workers blame their tools. Good workers build better tools. The best workers get their tools to do the work for them. -- Syndicate Wars