/*
OpenChange OCPF (OpenChange Property File) implementation.
- Copyright (C) Julien Kerihuel 2008.
+ Copyright (C) Julien Kerihuel 2008-2010
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
PT_UNICODE { return kw_PT_UNICODE; }
PT_SHORT { return kw_PT_SHORT; }
PT_LONG { return kw_PT_LONG; }
+PT_I8 { return kw_PT_I8; }
PT_SYSTIME { return kw_PT_SYSTIME; }
PT_BOOLEAN { return kw_PT_BOOLEAN; }
PT_MV_STRING8 { return kw_PT_MV_STRING8; }
if(e == y)
error_message("malformed constant (%s)", yytext);
else
- return DOUBLE;
+ return I8;
}
[A-Za-z][-A-Za-z0-9_]* {
/*
OpenChange OCPF (OpenChange Property File) implementation.
- Copyright (C) Julien Kerihuel 2008.
+ Copyright (C) Julien Kerihuel 2008-2010.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
%token <b> BOOLEAN
%token <s> SHORT
%token <l> INTEGER
-%token <d> DOUBLE
+%token <d> I8
%token <name> IDENTIFIER
%token <name> STRING
%token <nameW> UNICODE
%token kw_PT_UNICODE
%token kw_PT_SHORT
%token kw_PT_LONG
+%token kw_PT_I8
%token kw_PT_SYSTIME
%token kw_PT_MV_STRING8
%token kw_PT_BINARY
error_message("%s", "duplicated FOLDER\n");
}
}
- | kw_FOLDER DOUBLE
+ | kw_FOLDER I8
{
if (folderset == false) {
ocpf_folder_add(NULL, $2, NULL);
| SHORT { lpProp.i = $1; type = PT_SHORT; }
| INTEGER { lpProp.l = $1; type = PT_LONG; }
| BOOLEAN { lpProp.b = $1; type = PT_BOOLEAN; }
- | DOUBLE { lpProp.d = $1; type = PT_DOUBLE; }
+ | I8 { lpProp.d = $1; type = PT_I8; }
| SYSTIME
{
ocpf_add_filetime($1, &lpProp.ft);
memset(&nprop, 0, sizeof (struct ocpf_nprop));
nprop.propType = PT_LONG;
}
+ | kw_PT_I8
+ {
+ memset(&nprop, 0, sizeof (struct ocpf_nprop));
+ nprop.propType = PT_I8;
+ }
| kw_PT_BOOLEAN
{
memset(&nprop, 0, sizeof (struct ocpf_nprop));
/*
OpenChange OCPF (OpenChange Property File) implementation.
- Copyright (C) Julien Kerihuel 2008.
+ Copyright (C) Julien Kerihuel 2008-2010.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
case PT_ERROR:
*value = talloc_memdup(mem_ctx, (const void *)&lpProp.err, sizeof (uint32_t));
return OCPF_SUCCESS;
- case PT_DOUBLE:
+ case PT_I8:
*value = talloc_memdup(mem_ctx, (const void *)&lpProp.d, sizeof (uint64_t));
return OCPF_SUCCESS;
case PT_SYSTIME:
/*
OpenChange OCPF (OpenChange Property File) implementation.
- Copyright (C) Julien Kerihuel 2008.
+ Copyright (C) Julien Kerihuel 2008-2010.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
line = talloc_asprintf(ocpf->mem_ctx, "B\"%s\"\n", (*((const uint8_t *)value) == true) ? "true" : "false");
*found = true;
break;
- case PT_DOUBLE:
- line = talloc_asprintf(ocpf->mem_ctx, "D0x%"PRIx64"\n", *(const uint64_t *)value);
+ case PT_I8:
+ line = talloc_asprintf(ocpf->mem_ctx, "D0x%.16"PRIx64"\n", *(const uint64_t *)value);
*found = true;
break;
case PT_SYSTIME:
talloc_free(line);
/* folder id */
- line = talloc_asprintf(ocpf->mem_ctx, "FOLDER D0x%"PRIx64"\n\n", ocpf->folder);
+ line = talloc_asprintf(ocpf->mem_ctx, "FOLDER D0x%.16"PRIx64"\n\n", ocpf->folder);
len = fwrite(line, strlen(line), 1, fp);
talloc_free(line);
/* Step 3. Turn CreateFolder parameters into MAPI property array */
aRow = libmapiserver_ROP_request_to_properties(mem_ctx, (void *)&mapi_req->u.mapi_CreateFolder, op_MAPI_CreateFolder);
+ aRow->lpProps = add_SPropValue(mem_ctx, aRow->lpProps, &(aRow->cValues), PR_PARENT_FID, (void *)(&parent_fid));
/* Step 4. Do effective work here */
mapistore = emsmdbp_is_mapistore(parent);