Librepo library  1.7.13
C library for downloading linux repository metadata and packages
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Modules
Utility functions and macros

Macros

#define LR_CURL_VERSION_CHECK(major, minor, patch)
 

Functions

void lr_global_init ()
 
void lr_out_of_memory ()
 
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 ()
 
char * lr_gettmpdir ()
 
char * lr_pathconcat (const char *str,...)
 
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)
 

Detailed Description

Macro Definition Documentation

#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
majorMajor version
minorMinor version
patchPatch version
Returns
True if current curl version is higher or equal

Definition at line 45 of file util.h.

Function Documentation

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

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

Parameters
listList of LrMetalinkHash*
typeVariable to store checksum type.
valueVariable to store pointer to value (pointer to original value from the list, NOT A COPY).
Returns
TRUE if usable checksum found, FALSE otherwise
int lr_copy_content ( int  source,
int  dest 
)

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

Parameters
sourceSource opened file descriptor
destDestination openede file descriptor
Returns
0 on succes, -1 on error
void lr_free ( void *  mem)

Free the memory block.

Parameters
memPointer to block of memory.
char* lr_gettmpdir ( )

Create temporary directory in /tmp directory.

Returns
Path to directory.
int lr_gettmpfile ( )

Create temporary librepo file in /tmp directory.

Returns
File descriptor.
void lr_global_init ( )

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

void* lr_malloc ( size_t  len)

Allocate len bytes of memory.

Parameters
lenNumber of bytes to be allocated.
Returns
Pointer to allocated memory.
void* lr_malloc0 ( size_t  len)

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

Parameters
lenNumber of bytes to be allocated.
Returns
Pointer to allocated memory.
void lr_out_of_memory ( )

Clean up librepo library. void lr_global_cleanup(); Print "Out of memory" message to stderr and abort program execution. This function is used when malloc call fails.

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
strFirst part of the path.
...NULL terminated list of strings.
Returns
Concatenated path.
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
void* lr_realloc ( void *  ptr,
size_t  len 
)

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

Parameters
ptrPointer to block of memory or NULL.
lenNew len of the block.
Returns
New pointer to the reallocated memory.
int lr_remove_dir ( const char *  path)

Recursively remove directory.

Parameters
pathPath to the directory.
Returns
0 on succes, -1 on error.
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
chunkString chunk
stringString or NULL
Returns
a pointer to the copy of string within the chunk
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
arrayNULL-terminated array of strings or NULL
Returns
Copy of input array or NULL if input was NULL
gchar* lr_url_without_path ( const char *  url)

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

Parameters
urlURL
Returns
Malloced url without path, just protocol and hostname
int lr_xml_parser_warning_logger ( LrXmlParserWarningType type  G_GNUC_UNUSED,
char *  msg,
void *  cbdata,
GError **err  G_GNUC_UNUSED 
)

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