Loading...
Searching...
No Matches
Utility functions and macros

## Macros

#define | LR_CURL_VERSION_CHECK(major, minor, patch)

## Functions

void | lr_global_init (void)
void | lr_log_librepo_summary (void)
void | lr_out_of_memory (void)
void * | lr_malloc (size_t len)
void * | lr_malloc0 (size_t len)
void * | lr_realloc (void *ptr, size_t len)
void | lr_free (void *mem)
int | lr_gettmpfile (void)
char * | lr_gettmpdir (void)
char * | lr_pathconcat (const char *str,...) G_GNUC_NULL_TERMINATED
int | lr_remove_dir (const char *path)
int | lr_copy_content (int source, int dest)
char * | lr_prepend_url_protocol (const char *path)
gchar * | lr_string_chunk_insert (GStringChunk *chunk, const gchar *string)
int | lr_xml_parser_warning_logger (LrXmlParserWarningType type G_GNUC_UNUSED, char *msg, void *cbdata, GError **err G_GNUC_UNUSED) G_GNUC_UNUSED
gboolean | lr_best_checksum (GSList *list, LrChecksumType *type, gchar **value)
gchar * | lr_url_without_path (const char *url)
gchar ** | lr_strv_dup (gchar **array)
gboolean | lr_is_local_path (const gchar *path)
gboolean | lr_key_file_save_to_file (GKeyFile *key_file, const gchar *filename, GError **error)
GSList * | lr_get_recursive_files (char *path, char *extension, GError **err)

## Detailed Description

## Macro Definition Documentation

## LR_CURL_VERSION_CHECK

#define LR_CURL_VERSION_CHECK | ( |  | major,
|  |  | minor,
|  |  | patch )

Value:
(LIBCURL_VERSION_MAJOR > (major) || \
(LIBCURL_VERSION_MAJOR == (major) && LIBCURL_VERSION_MINOR > (minor)) || \
(LIBCURL_VERSION_MAJOR == (major) && LIBCURL_VERSION_MINOR == (minor) && \
LIBCURL_VERSION_PATCH >= (patch)))

Macro for curl version check.

Parameters

  major | Major version
  minor | Minor version
  patch | Patch version

Returns
  True if current curl version is higher or equal

Definition at line 50 of file util.h.

## Function Documentation

## lr_best_checksum()

gboolean lr_best_checksum | ( | GSList * | list,
|  | LrChecksumType * | type,
|  | gchar ** | value )

From the GSList of pointers to LrMetalinkHash objects, select the strongest one which librepo could calculate.

Parameters

  list | List of LrMetalinkHash*
  type | Variable to store checksum type.
  value | Variable to store pointer to value (pointer to original value from the list, NOT A COPY).

Returns
  TRUE if usable checksum found, FALSE otherwise

## lr_copy_content()

int lr_copy_content | ( | int | source,
|  | int | dest )

Copy content from source file descriptor to the dest file descriptor.

Parameters

  source | Source opened file descriptor
  dest | Destination opened file descriptor

Returns
  0 on succes, -1 on error

## lr_free()

void lr_free | ( | void * | mem | ) |

Free the memory block.

Parameters

  mem | Pointer to block of memory.

## lr_gettmpdir()

char * lr_gettmpdir | ( | void |  | ) |

Create temporary directory in /tmp directory.

Returns
  Path to directory.

## lr_gettmpfile()

int lr_gettmpfile | ( | void |  | ) |

Create temporary librepo file in /tmp directory.

Returns
  File descriptor.

## lr_global_init()

void lr_global_init | ( | void |  | ) |

Initialize librepo library. This is called automatically to initialize librepo. You normally don't have to call this function manually.

## lr_is_local_path()

gboolean lr_is_local_path | ( | const gchar * | path | ) |

Check if string looks like a local path. (This function doesn't do realpath resolving and existence checking) If a path is empty, NULL or has protocol other then file:// specified then the path is considered as remote, otherwise TRUE is returned.

Parameters

  path | A string path

Returns
  TRUE if path string looks like a local path

## lr_key_file_save_to_file()

gboolean lr_key_file_save_to_file | ( | GKeyFile * | key_file,
|  | const gchar * | filename,
|  | GError ** | error )

Re-implementatio of g_key_file_save_to_file, because the function is available since 2.40 but we need to support older glib

Parameters

  key_file | key file
  filename | filename
  error | GError **

Returns
  TRUE if successful, FALSE otherwise

## lr_log_librepo_summary()

void lr_log_librepo_summary | ( | void |  | ) |

Clean up librepo library. void lr_global_cleanup(); Log a debug message with Librepo version and current time.

## lr_malloc()

void * lr_malloc | ( | size_t | len | ) |

Allocate len bytes of memory.

Parameters

  len | Number of bytes to be allocated.

Returns
  Pointer to allocated memory.

## lr_malloc0()

void * lr_malloc0 | ( | size_t | len | ) |

Allocate len bytes of memory. The allocated memory is set to zero.

Parameters

  len | Number of bytes to be allocated.

Returns
  Pointer to allocated memory.

## lr_out_of_memory()

void lr_out_of_memory | ( | void |  | ) |

Print "Out of memory" message to stderr and abort program execution. This function is used when malloc call fails.

## lr_pathconcat()

char * lr_pathconcat | ( | const char * | str,
|  |  | ... )

Concatenate all of given part of path. If last chunk is "" then separator will be appended to the result.

Parameters

  str | First part of the path.
  ... | NULL terminated list of strings.

Returns
  Concatenated path.

## lr_prepend_url_protocol()

char * lr_prepend_url_protocol | ( | const char * | path | ) |

If protocol is specified ("http://foo") return copy of path. If path is absolute ("/foo/bar/") return path with "file://" prefix. If path is relative ("bar/") return absolute path with "file://" prefix.

Parameters

  path |

Returns
  url with protocol

## lr_realloc()

void * lr_realloc | ( | void * | ptr,
|  | size_t | len )

Change size of block memory pointed by ptr to the new len.

Parameters

  ptr | Pointer to block of memory or NULL.
  len | New len of the block.

Returns
  New pointer to the reallocated memory.

## lr_remove_dir()

int lr_remove_dir | ( | const char * | path | ) |

Recursively remove directory.

Parameters

  path | Path to the directory.

Returns
  0 on succes, -1 on error.

## lr_string_chunk_insert()

gchar * lr_string_chunk_insert | ( | GStringChunk * | chunk,
|  | const gchar * | string )

Same as g_string_chunk_insert, but allows NULL as string. If the string is NULL, then returns NULL and do nothing.

Parameters

  chunk | String chunk
  string | String or NULL

Returns
  a pointer to the copy of string within the chunk

## lr_strv_dup()

gchar ** lr_strv_dup | ( | gchar ** | array | ) |

Create a copy of NULL-terminated array of strings. All strings in the copy are malloced - returned array must be freed by g_strfreev()

Parameters

  array | NULL-terminated array of strings or NULL

Returns
  Copy of input array or NULL if input was NULL

## lr_url_without_path()

gchar * lr_url_without_path | ( | const char * | url | ) |

Return malloced string with host part of url (protocol prefix + hostname)

Parameters

  url | URL

Returns
  Malloced url without path, just protocol and hostname

## lr_xml_parser_warning_logger()

int lr_xml_parser_warning_logger | ( | LrXmlParserWarningType type | G_GNUC_UNUSED,
|  | char * | msg,
|  | void * | cbdata,
|  | GError **err | G_GNUC_UNUSED )

Warning callback to print warnings via GLib logger For more info take a look at LrXmlParserWarningCb