Ejemplo n.º 1
0
Archivo: sets.c Proyecto: jleffler/soq
static void test_ops(void)
{
    Set *s1 = set_create();
    Set *s2 = set_create();
    Set *s3 = set_create();

    if (s1 == 0 || s2 == 0 || s3  == 0)
        err_syserr("Out of memory\n");

    load_set(s1, 1, 3, 4, 6);
    dump_set("S1", s1);

    load_set(s2, 2, 5, 7, 9);
    dump_set("S2", s2);

    set_union(s1, s2, s3);
    dump_set("S1 union S2", s3);

    set_empty(s3);
    set_intersect(s1, s2, s3);
    dump_set("S1 intersect S2", s3);

    set_empty(s3);
    set_difference(s1, s2, s3);
    dump_set("S1 minus S2", s3);

    set_empty(s3);
    set_difference(s2, s1, s3);
    dump_set("S2 minus S1", s3);

    set_destroy(s1);
    set_destroy(s2);
    set_destroy(s3);
}
Ejemplo n.º 2
0
void descramble(unsigned char *fh, unsigned char *ptr, unsigned long filesz)
{
    unsigned long chunksz;

    load_set(fh);

    my_srand(filesz);

    /* Descramble 2 meg blocks for as long as possible, then
        gradually reduce the window down to 32 bytes (1 slice) */
    for(chunksz = MAXCHUNK; chunksz >= 32; chunksz >>= 1)
    {
        while(filesz >= chunksz)
        {
	        load_chunk(ptr, chunksz);
	        filesz -= chunksz;
	        ptr += chunksz;
        }
    }

    /* Load final incomplete slice */
    if(filesz)
    {
        load(ptr, filesz);
    }
}
Ejemplo n.º 3
0
Archivo: sets.c Proyecto: jleffler/soq
static void test_set(void)
{
    Set *set = set_create();
    if (set == 0)
        err_syserr("Out of memory\n");
    load_set(set, 1, 3, 4, 6);
    dump_set("S0", set);
    set_destroy(set);
}