summaryrefslogtreecommitdiffstats
path: root/kcontrol/background/bghash.h
blob: 7cc09ca43cab7a11fe3acfa673b5df29bb5f505b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef BGHASH_H
#define BGHASH_H

/*
 * TQString -> int hash. From Qt's TQGDict::hashKeyString().
 */

static int TQHash(TQString key)
{
    int g, h = 0;
    const TQChar *p = key.unicode();
    for (unsigned i=0; i < key.length(); i++) {
        h = (h << 4) + p[i].cell();
        if ((g = (h & 0xf0000000)))
            h ^= (g >> 24);
        h &= ~g;
    }
    return h;
}

#endif