Fix the mess with ldb includes.
[metze/samba/wip.git] / source4 / lib / ldb / common / ldb_parse.c
index 26f88769e6936ed5b4dc04496df698f5d5960368..654a635abf1d7edb016659d2de3b965b2f1063a7 100644 (file)
@@ -10,7 +10,7 @@
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
+   version 3 of the License, or (at your option) any later version.
 
    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -18,8 +18,7 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+   License along with this library; if not, see <http://www.gnu.org/licenses/>.
 */
 
 /*
@@ -41,8 +40,7 @@
 
 */
 
-#include "includes.h"
-#include "ldb/include/includes.h"
+#include "ldb_private.h"
 #include "system/locale.h"
 
 /*
@@ -265,6 +263,10 @@ static enum ldb_parse_op ldb_parse_filtertype(void *mem_ctx, char **type, char *
        /* retrieve attributetype name */
        t = p;
 
+       if (*p == '@') { /* for internal attributes the first char can be @ */
+               p++;
+       }
+
        while ((isascii(*p) && isalnum((unsigned char)*p)) || (*p == '-')) { /* attribute names can only be alphanums */
                p++;
        }
@@ -321,7 +323,7 @@ static enum ldb_parse_op ldb_parse_filtertype(void *mem_ctx, char **type, char *
 
        while (isspace((unsigned char)*p)) p++;
 
-       /* retieve value */
+       /* retrieve value */
        t = p;
 
        while (*p && ((*p != ')') || ((*p == ')') && (*(p - 1) == '\\')))) p++;