diff --git a/CHANGELOG b/CHANGELOG index 6ac764932ce4d7899869db833c1d62ce9938f2c0..dbde75d1815e666c74a61025900e4a1de09442a8 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -4,6 +4,7 @@ - Add json-c to the download dependency script (add cmake as a requirement for that) - Choose between static or shared library for liblektor - Download the bakabase with obfuscation or not +- Implicit types for queries with lkt # v2.1 (df74b85f) diff --git a/src/main/lkt.c b/src/main/lkt.c index 9a3eba1dfccc2c37cf0919b7b94f3e6c80ffa0ac..2bfe27ffa6bca8a0421dd5062d4075ab0ef4999d 100644 --- a/src/main/lkt.c +++ b/src/main/lkt.c @@ -55,26 +55,6 @@ static const char *LKT_QUEUE_DEFAULT[] = { "10" }; /* Communication functions and fonction that interact with lektor stuff. */ -static inline int -__string_is_lower(const char *str) -{ - while (*str != '\0') { - if (!islower(*str)) - return 1; - } - return 0; -} - -static inline int -__string_is_upper(const char *str) -{ - while (*str != '\0') { - if (!isupper(*str)) - return 1; - } - return 0; -} - static inline void __concat_strings(char *const res, size_t len, const char **tab, size_t count) { @@ -105,39 +85,26 @@ lkt_get_query_type(struct cmd_args *args, char *const regex, size_t regex_len) return 0; } - /* Type ?== type */ - else if (__string_is_upper(args->argv[0])) { -#define kara_category(unused) -#define kara_language(unused) -#define kara_type(tp) \ -if (STR_MATCH(tp, args->argv[0])) { \ - safe_snprintf(regex, regex_len, "type://%s", args->argv[0]); \ - return 0; \ + /* Type ?== type OR Type ?== category OR Type ?== lang */ +#define kara_type(tp) \ +if (STR_MATCH(tp, args->argv[0])) { \ + safe_snprintf(regex, regex_len, "type://%s", args->argv[0]); \ + return 0; \ } -#include <lektor/database.def> -#undef kara_category -#undef kara_language -#undef kara_type - } - - /* Type ?== category OR Type ?== lang */ - else if (__string_is_lower(args->argv[0])) { -#define kara_type(unused) #define kara_category(ct) \ if (STR_MATCH(ct, args->argv[0])) { \ safe_snprintf(regex, regex_len, "category://%s", args->argv[0]); \ return 0; \ } -#define kara_language(lg) \ -if (STR_MATCH(lg, args->argv[0])) { \ - safe_snprintf(regex, regex_len, "lang://%s", args->argv[0]); \ - return 0; \ +#define kara_language(lg) \ +if (STR_MATCH(lg, args->argv[0])) { \ + safe_snprintf(regex, regex_len, "lang://%s", args->argv[0]); \ + return 0; \ } #include <lektor/database.def> #undef kara_category #undef kara_language #undef kara_type - } } memset(regex, 0, regex_len * sizeof(char));