#if HAVE_LANGINFO_H
# include <langinfo.h>
#endif
-#if HAVE_PCRE_H
-# include <pcre.h>
-#endif
+#include <pcre.h>
#if HAVE_SHLOBJ_H
# include <Shlobj.h>
#endif
#include "charset.h"
#include "defs.h"
#include "printf.h"
-#if HAVE_PCRE_H
-# include "regsub.h"
-#endif
+#include "regsub.h"
#include "signame.h"
#include "authhash.h"
#include "vector.h"
nvec, vec);
}
-#if HAVE_PCRE_H
static int set_namepart(const struct config_state *cs,
const struct conf *whoami,
int nvec, char **vec) {
++tl->n;
return 0;
}
-#endif
static int set_rights(const struct config_state *cs,
const struct conf *whoami,
xfree(cll->s);
}
-#if HAVE_PCRE_H
static void free_namepartlist(struct config *c,
const struct conf *whoami) {
struct namepartlist *npl = ADDRESS(c, struct namepartlist);
}
xfree(tl->t);
}
-#endif
static void free_netaddress(struct config *c,
const struct conf *whoami) {
type_stringlist_accum = { set_stringlist_accum, free_stringlistlist },
type_string_accum = { set_string_accum, free_stringlist },
type_sample_format = { set_sample_format, free_none },
-#if HAVE_PCRE_H
type_namepart = { set_namepart, free_namepartlist },
type_transform = { set_transform, free_transformlist },
-#endif
type_netaddress = { set_netaddress, free_netaddress },
type_rights = { set_rights, free_string };
{ C(mount_rescan), &type_boolean, validate_any },
{ C(multicast_loop), &type_boolean, validate_any },
{ C(multicast_ttl), &type_integer, validate_non_negative },
-#if HAVE_PCRE_H
{ C(namepart), &type_namepart, validate_any },
-#endif
{ C(new_bias), &type_integer, validate_positive },
{ C(new_bias_age), &type_integer, validate_positive },
{ C(new_max), &type_integer, validate_positive },
{ C(stopword), &type_string_accum, validate_any },
{ C(templates), &type_string_accum, validate_isdir },
{ C(tracklength), &type_stringlist_accum, validate_tracklength },
-#if HAVE_PCRE_H
{ C(transform), &type_transform, validate_any },
-#endif
{ C(url), &type_string, validate_url },
#if !_WIN32
{ C(user), &type_string, validate_isauser },
static void config_postdefaults(struct config *c,
int server) {
struct config_state cs;
-#if HAVE_PCRE_H
const struct conf *whoami;
int n;
-#endif
-#if HAVE_PCRE_H
static const char *namepart[][4] = {
{ "title", "/([0-9]+ *[-:]? *)?([^/]+)\\.[a-zA-Z0-9]+$", "$2", "display" },
{ "title", "/([^/]+)\\.[a-zA-Z0-9]+$", "$1", "sort" },
{ "dir", "[[:punct:]]", "", "sort", "g", }
};
#define NTRANSFORM (int)(sizeof transform / sizeof *transform)
-#endif
cs.path = "<internal>";
cs.line = 0;
cs.config = c;
-#if HAVE_PCRE_H
if(!c->namepart.n) {
whoami = find("namepart");
for(n = 0; n < NNAMEPART; ++n)
for(n = 0; n < NTRANSFORM; ++n)
set_transform(&cs, whoami, 5, (char **)transform[n]);
}
-#endif
if(!c->api) {
if(c->speaker_command)
c->api = xstrdup("command");
disorder_error(0, "'nice_server' cannot be changed without a restart");
/* ...but we accept the new config anyway */
}
-#if HAVE_PCRE_H
if(namepartlist_compare(&c->namepart, &oldconfig->namepart)) {
disorder_error(0, "'namepart' settings cannot be changed without a restart");
failed = 1;
}
-#endif
if(stringlist_compare(&c->stopword, &oldconfig->stopword)) {
disorder_error(0, "'stopword' settings cannot be changed without a restart");
failed = 1;
return 0;
}
-#if HAVE_PCRE_H
/** @brief Order two namepart definitions
* @param a First namepart definition
* @param b Second namepart definition
else
return 0;
}
-#endif
/** @brief Verify configuration table.
* @return The number of problems found