Add new function psl_builtin_outdated()
This commit is contained in:
parent
34289fa59b
commit
6a8f33ee39
|
@ -16,6 +16,7 @@ psl_builtin_compile_time
|
||||||
psl_builtin_file_time
|
psl_builtin_file_time
|
||||||
psl_builtin_sha1sum
|
psl_builtin_sha1sum
|
||||||
psl_builtin_filename
|
psl_builtin_filename
|
||||||
|
psl_builtin_outdated
|
||||||
psl_is_cookie_domain_acceptable
|
psl_is_cookie_domain_acceptable
|
||||||
psl_get_version
|
psl_get_version
|
||||||
psl_str_to_utf8lower
|
psl_str_to_utf8lower
|
||||||
|
|
|
@ -113,7 +113,9 @@ const char *
|
||||||
/* returns library version */
|
/* returns library version */
|
||||||
const char *
|
const char *
|
||||||
psl_get_version(void);
|
psl_get_version(void);
|
||||||
|
/* returns wether the built-in data is outdated or not */
|
||||||
|
int
|
||||||
|
psl_builtin_outdated(void);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
27
src/psl.c
27
src/psl.c
|
@ -54,6 +54,9 @@
|
||||||
# define ngettext(STRING1,STRING2,N) STRING2
|
# define ngettext(STRING1,STRING2,N) STRING2
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <unistd.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
@ -84,6 +87,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <libpsl.h>
|
#include <libpsl.h>
|
||||||
|
#include <bits/stat.h>
|
||||||
|
|
||||||
/* number of elements within an array */
|
/* number of elements within an array */
|
||||||
#define countof(a) (sizeof(a)/sizeof(*(a)))
|
#define countof(a) (sizeof(a)/sizeof(*(a)))
|
||||||
|
@ -951,6 +955,29 @@ const char *psl_builtin_filename(void)
|
||||||
return _psl_filename;
|
return _psl_filename;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* psl_builtin_outdated:
|
||||||
|
*
|
||||||
|
* This function checks if the built-in data is older than the file it has been created from.
|
||||||
|
* If it is, it might be a good idea for the application to reload the PSL.
|
||||||
|
* The mtime is taken as reference.
|
||||||
|
*
|
||||||
|
* If the PSL file does not exist, it is assumed that the built-in data is not outdated.
|
||||||
|
*
|
||||||
|
* Returns: 1 if the built-in is outdated, 0 otherwise.
|
||||||
|
*
|
||||||
|
* Since: 0.10.0
|
||||||
|
*/
|
||||||
|
int psl_builtin_outdated(void)
|
||||||
|
{
|
||||||
|
struct stat st;
|
||||||
|
|
||||||
|
if (stat(_psl_filename, &st) == 0 && st.st_mtime > _psl_file_time)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* psl_get_version:
|
* psl_get_version:
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue