File: mkbug.cpp

package info (click to toggle)
metakit 2.4.3-3
  • links: PTS
  • area: main
  • in suites: woody
  • size: 6,468 kB
  • ctags: 3,548
  • sloc: xml: 29,455; cpp: 23,339; sh: 9,051; tcl: 1,195; python: 577; makefile: 254; ansic: 14
file content (52 lines) | stat: -rwxr-xr-x 1,085 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/* Bug test code
*/

#include <mk4.h>
#include <mk4str.h>
#include <stdio.h>

int main (int argc, const char * argv[])
{
    c4_IntProp p1 ("p1"), p3 ("p3");
    c4_ViewProp p2 ("p2");
    
    {
        c4_Storage s1 ("s13a", 1);
        s1.SetStructure("a[p1:I,p2[p3:I]]");
        c4_View v1 = s1.View("a");
        
        c4_View v2a;
        v2a.Add(p3 [234]);
        v1.Add(p1 [123] + p2 [v2a]);
    
        c4_View v2b;
        v2b.Add(p3 [345]);
        v2b.Add(p3 [346]);
        v1.Add(p1 [124] + p2 [v2b]);
    
        c4_View v2c;
        v2c.Add(p3 [456]);
        v2c.Add(p3 [457]);
        v2c.Add(p3 [458]);
        v1.Add(p1 [125] + p2 [v2c]);
        
        s1.Commit();
    }
    
    {
        c4_Storage s1 ("s13a", 1);
        c4_View v1 = s1.View("a");
        c4_View v2a = p2 (v1[0]);
        c4_View v2b = p2 (v1[1]);
        c4_View v2c = p2 (v1[2]);
        v1.RemoveAt(1);
        v2a = p2 (v1[0]);
        v2b = p2 (v1[1]);
        
        s1.Commit();		// <--------------------- Fails here!
    }
    
    printf ("Done..");
    
    return 0;
}