From a4d5cc436c0e85d449dd89a8eea50d9bdff16598 Mon Sep 17 00:00:00 2001 From: dbs Date: Wed, 15 Apr 2009 03:20:32 +0000 Subject: [PATCH] Enable field transforms to be named with a schema; is_identifier() was being a bit too strict and killing perfectly good calls to functions like "permission.usr_has_perm" git-svn-id: svn://svn.open-ils.org/ILS/trunk@12873 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/c-apps/oils_cstore.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Open-ILS/src/c-apps/oils_cstore.c b/Open-ILS/src/c-apps/oils_cstore.c index c79051a7f1..7f4ab4b3aa 100644 --- a/Open-ILS/src/c-apps/oils_cstore.c +++ b/Open-ILS/src/c-apps/oils_cstore.c @@ -2673,6 +2673,8 @@ char* SELECT ( // metadata about the core search class osrfHash* core_meta = NULL; + osrfLogDebug(OSRF_LOG_MARK, "cstore SELECT locale: %s", locale); + // punt if there's no core class if (!join_hash || ( join_hash->type == JSON_HASH && !join_hash->size )) { osrfLogError( @@ -4800,13 +4802,15 @@ static int is_identifier( const char* s) { // Check each character until we reach white space or // end-of-string. Letters, digits, underscores, and - // dollar signs are okay. Control characters and other + // dollar signs are okay. With the exception of periods + // (as in schema.identifier), control characters and other // punctuation characters are not okay. Anything else // is okay -- it could for example be part of a multibyte // UTF8 character such as a letter with diacritical marks, // and those are allowed. do { if( isalnum( (unsigned char) *s ) + || '.' == *s || '_' == *s || '$' == *s ) ; // Fine; keep going -- 2.43.2