46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
if(classes[a] && !(classes[a]->cflags&CF_NOCLASS2) && !strcmp(s,classes[a]->name)) goto found;
}
return;
found: sqlite3_result_int(cxt,a);
}
static void fn_class_data(sqlite3_context*cxt,int argc,sqlite3_value**argv) {
int id=sqlite3_value_int(argv[0]);
Class*cl;
if(id<0 || id>=0x4000 || !classes[id]) return;
cl=classes[id];
switch(sqlite3_value_int(argv[1])&255) {
case 0: sqlite3_result_int(cxt,id); break;
case 1: sqlite3_result_int64(cxt,cl->temperature); break;
case 2: sqlite3_result_int(cxt,cl->shape); break;
|
|
|
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
if(classes[a] && !(classes[a]->cflags&CF_NOCLASS2) && !strcmp(s,classes[a]->name)) goto found;
}
return;
found: sqlite3_result_int(cxt,a);
}
static void fn_class_data(sqlite3_context*cxt,int argc,sqlite3_value**argv) {
int id=sqlite3_value_int(argv[0])&0xFFFF;
Class*cl;
if(id<0 || id>=0x4000 || !classes[id]) return;
cl=classes[id];
switch(sqlite3_value_int(argv[1])&255) {
case 0: sqlite3_result_int(cxt,id); break;
case 1: sqlite3_result_int64(cxt,cl->temperature); break;
case 2: sqlite3_result_int(cxt,cl->shape); break;
|