Ruby 2.7.0p0(2019-12-25revision647ee6f091eafcce70ffb75ddf7e121e192ab217)

Macros | Functions
util.h File Reference
`#include "ruby/defines.h"`

Go to the source code of this file.

## Macros
#define | DECIMAL_SIZE_OF_BITS(n) (((n) * 3010 + 9998) / 9999)
#define | scan_oct(s, l, e) ((int)ruby_scan_oct((s),(l),(e)))
#define | scan_hex(s, l, e) ((int)ruby_scan_hex((s),(l),(e)))
#define | strdup(s) ruby_strdup(s)
#define | strtod(s, e) ruby_strtod((s),(e))

## Functions
unsigned long | ruby_scan_oct (const char *, size_t, size_t *)
unsigned long | ruby_scan_hex (const char *, size_t, size_t *)
void | ruby_qsort (void *, const size_t, const size_t, int(*)(const void *, const void *, void *), void *)
void | ruby_setenv (const char *, const char *)
void | ruby_unsetenv (const char *)
char * | ruby_strdup (const char *)
char * | ruby_getcwd (void)
double | ruby_strtod (const char *, char **)
void | ruby_each_words (const char *, void(*)(const char *, int, void *), void *)

## Macro Definition Documentation

## ◆ DECIMAL_SIZE_OF_BITS

#define DECIMAL_SIZE_OF_BITS | ( |  | n | ) | (((n) * 3010 + 9998) / 9999)

Definition at line 50 of file util.h.

## ◆ scan_hex

#define scan_hex | ( |  | s,
|  |  | l,
|  |  | e
| ) |  | ((int)ruby_scan_hex((s),(l),(e)))

Definition at line 55 of file util.h.

## ◆ scan_oct

#define scan_oct | ( |  | s,
|  |  | l,
|  |  | e
| ) |  | ((int)ruby_scan_oct((s),(l),(e)))

Definition at line 53 of file util.h.

## ◆ strdup

#define strdup | ( |  | s | ) | ruby_strdup(s)

Definition at line 70 of file util.h.

## ◆ strtod

#define strtod | ( |  | s,
|  |  | e
| ) |  | ruby_strtod((s),(e))

Definition at line 76 of file util.h.

## Function Documentation

## ◆ ruby_each_words()

void ruby_each_words | ( | const char * | ,
|  | void(*)(const char *, int, void *) | ,
|  | void * |
| ) |  |

Definition at line 585 of file util.c.

References arg, int, ISSPACE, len, and str.

Referenced by ruby_set_debug_option().

## ◆ ruby_getcwd()

char* ruby_getcwd | ( | void |  | ) |

Definition at line 539 of file util.c.

References buf, DATA_PTR, Data_Wrap_Struct, ERANGE, errno, free, getcwd(), getwd(), NULL, PATH_MAX, RB_GC_GUARD, rb_sys_fail(), rb_syserr_fail(), RUBY_DEFAULT_FREE, ruby_strdup(), size, xfree, xmalloc, and xrealloc.

Referenced by rb_dir_getwd_ospath().

## ◆ ruby_qsort()

void ruby_qsort | ( | void * | ,
|  | const | size_t,
|  | const | size_t,
|  | int(*)(const void *, const void *, void *) | ,
|  | void * |
| ) |  |

## ◆ ruby_scan_hex()

unsigned long ruby_scan_hex | ( | const char * | ,
|  | size_t | ,
|  | size_t * |
| ) |  |

Definition at line 52 of file util.c.

References hexdigit, i, int, len, and strchr().

## ◆ ruby_scan_oct()

unsigned long ruby_scan_oct | ( | const char * | ,
|  | size_t | ,
|  | size_t * |
| ) |  |

Definition at line 34 of file util.c.

References i, int, and len.

## ◆ ruby_setenv()

void ruby_setenv | ( | const char * | ,
|  | const char * |
| ) |  |

Definition at line 4923 of file hash.c.

References ALLOCV_END, ALLOCV_N, buf, environ, fail, free, GET_ENVIRON, i, L, len, malloc(), name, NULL, PRIuSIZE, putenv(), rb_sprintf(), rb_sys_fail_str(), setenv(), snprintf(), str, strlen(), strncmp(), and unsetenv().

Referenced by ruby_unsetenv().

## ◆ ruby_strdup()

char* ruby_strdup | ( | const char * |  | ) |

Definition at line 527 of file util.c.

References len, memcpy(), str, strlen(), and xmalloc.

Referenced by compat_init_setproctitle(), and ruby_getcwd().

## ◆ ruby_strtod()

double ruby_strtod | ( | const char * | ,
|  | char ** |
| ) |  |

## ◆ ruby_unsetenv()

void ruby_unsetenv | ( | const char * |  | ) |

Definition at line 5062 of file hash.c.

References name, and ruby_setenv().