Glib Helper Routines

Name

Glib Helper Routines -- Miscellaneous helper routines that could conceivably be moved to glib someday.

Synopsis



void        gsk_g_ptr_array_foreach         (GPtrArray *array,
                                             GFunc func,
                                             gpointer data);
gpointer    gsk_g_tree_min                  (GTree *tree);
gpointer    gsk_g_tree_max                  (GTree *tree);
GSList*     gsk_g_tree_key_slist            (GTree *tree);
GSList*     gsk_g_tree_value_slist          (GTree *tree);
GSList*     gsk_g_hash_table_key_slist      (GHashTable *table);
GSList*     gsk_g_hash_table_value_slist    (GHashTable *table);
gint64      gsk_strtoll                     (const char *str,
                                             char **endp,
                                             int base);
guint64     gsk_strtoull                    (const char *str,
                                             char **endp,
                                             int base);
guint       gsk_strnlen                     (const char *ptr,
                                             guint max_len);
gboolean    gsk_fd_set_nonblocking          (int fd);
#define     gsk_g_debug                     (...)

Description

Provide various simple functions that we have found useful.

Details

gsk_g_ptr_array_foreach ()

void        gsk_g_ptr_array_foreach         (GPtrArray *array,
                                             GFunc func,
                                             gpointer data);

Like g_slist_foreach(), except it iterates over a GPtrArray instead.

array :

array to iterate over.

func :

function to call on each element of array.

data :

second parameter to func.


gsk_g_tree_min ()

gpointer    gsk_g_tree_min                  (GTree *tree);

Find the minimum key in the tree.

tree :

tree to examine.

Returns :

smallest key in the tree.


gsk_g_tree_max ()

gpointer    gsk_g_tree_max                  (GTree *tree);

Find the maximum key in the tree.

tree :

tree to examine.

Returns :

largest key in the tree.


gsk_g_tree_key_slist ()

GSList*     gsk_g_tree_key_slist            (GTree *tree);

Get a list of all the keys in the trees, sorted.

tree :

the tree to scan.

Returns :

the newly allocated list of pointers to the keys.


gsk_g_tree_value_slist ()

GSList*     gsk_g_tree_value_slist          (GTree *tree);

Get a list of all the values in the trees, sorted by key.

tree :

the tree to scan.

Returns :

the newly allocated list of pointers to the keys.


gsk_g_hash_table_key_slist ()

GSList*     gsk_g_hash_table_key_slist      (GHashTable *table);

Accumulate all the keys in the hash table into a big list. You may not assume anything about the order of the list.

table :

the hash table to scan.

Returns :

an allocated GSList of all the keys in the hash-table.


gsk_g_hash_table_value_slist ()

GSList*     gsk_g_hash_table_value_slist    (GHashTable *table);

Accumulate all the values in the hash table into a big list. You may not assume anything about the order of the list.

table :

the hash table to scan.

Returns :

an allocated GSList of all the values in the hash-table.


gsk_strtoll ()

gint64      gsk_strtoll                     (const char *str,
                                             char **endp,
                                             int base);

Like strtol, but for 64-bit integers.

str :

the string to parse a longlong integer (gint64) from.

endp :

optional place to store the character right past the number in str. If *endp == str, then you may assume an error occurred.

base :

the assumed base for the number to parse. eg "2" to parse a binary, "8" for octal, "10" for decimal, "16" for hexidecimal. Also, "0" is autodetects the C-style base.

Returns :

the parsed integer.


gsk_strtoull ()

guint64     gsk_strtoull                    (const char *str,
                                             char **endp,
                                             int base);

Like strtol, but for 64-bit unsigned integers.

str :

the string to parse a longlong unsigned integer (guint64) from.

endp :

optional place to store the character right past the number in str. If *endp == str, then you may assume an error occurred.

base :

the assumed base for the number to parse. eg "2" to parse a binary, "8" for octal, "10" for decimal, "16" for hexidecimal. Also, "0" is autodetects the C-style base.

Returns :

the parsed unsigned integer.


gsk_strnlen ()

guint       gsk_strnlen                     (const char *ptr,
                                             guint max_len);

Find the length of a string, which is only allocated max_len bytes, and does not need to be NUL-terminated.

ptr :

the string to find the length of.

max_len :

the maximum length the string could be.

Returns :

the length.


gsk_fd_set_nonblocking ()

gboolean    gsk_fd_set_nonblocking          (int fd);

Make a file-descriptor non-blocking. When it is non-blocking, operations that would cause it to block should instead return EAGAIN. (Although you should use gsk_errno_is_ignorable() to test, since windoze uses a different code, EWOULDBLOCK, and you should always ignore EINTR.)

fd :

the file-descriptor to make non-blocking.

Returns :

whether it was able to set the file descriptor non-blocking.


gsk_g_debug()

#define     gsk_g_debug(...)

... :