summaryrefslogtreecommitdiffstats
path: root/kcontrol/background/bghash.h
blob: b59a46f96576c17f99f325c24efcf2259d200c21 (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 QHash(TQString key)
{
    int g, h = 0;
    const TQChar *p = key.tqunicode();
    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