add: case DB_BITMAP:
context: int str2valp(db_type_t _t, db_val_t* _v, const char* _s, int _l, void *_p){	char dbuf[256];#ifdef PARANOID	if (!_v) {		LOG(L_ERR, "str2valp(): Invalid parameter value\n");		return -1;	}#endif	if (!_s) {		DLOG("str2valp", "got a null value");		VAL_TYPE(_v) = _t;		VAL_NULL(_v) = 1;		return 0;	}	switch(_t) {	case DB_INT:		sprintf(dbuf, "got int %s", _s);		DLOG("str2valp", dbuf);		if (str2int(_s, &VAL_INT(_v)) < 0) {			LOG(L_ERR, "str2valp(): Error while converting integer value from string\n");			return -2;		} else {			VAL_TYPE(_v) = DB_INT;			return 0;		}		break;		case DB_DOUBLE:		sprintf(dbuf, "got double %s", _s);		DLOG("str2valp", dbuf);		if (str2double(_s, &VAL_DOUBLE(_v)) < 0) {			LOG(L_ERR, "str2valp(): Error while converting double value from string\n");			return -3;		} else {			VAL_TYPE(_v) = DB_DOUBLE;			return 0;		}		break;	case DB_STRING:		sprintf(dbuf, "got string %s", _s);		DLOG("str2valp", dbuf);		VAL_STRING(_v) = aug_strdup(_s, _p);		VAL_TYPE(_v) = DB_STRING;		return 0;	case DB_STR:		VAL_STR(_v).s = aug_alloc(_l + 1, _p);		memcpy(_s, VAL_STR(_v).s, _l);		VAL_STR(_v).s[_l] = (char) 0;		VAL_STR(_v).len = _l;		VAL_TYPE(_v) = DB_STR;		sprintf(dbuf, "got len string %d %s", _l, _s);		DLOG("str2valp", dbuf);		return 0;	case DB_DATETIME:		sprintf(dbuf, "got time %s", _s);		DLOG("str2valp", dbuf);		if (str2time(_s, &VAL_TIME(_v)) < 0) {			PLOG("str2valp", "error converting datetime");			return -4;		} else {			VAL_TYPE(_v) = DB_DATETIME;			return 0;		}		break;	case DB_BLOB:		VAL_STR(_v).s = aug_alloc(_l + 1, _p);		memcpy(_s, VAL_STR(_v).s, _l);		VAL_STR(_v).s[_l] = (char) 0;		VAL_STR(_v).len = _l;		VAL_TYPE(_v) = DB_BLOB;		sprintf(dbuf, "got blob %d", _l);		DLOG("str2valp", dbuf);		return 0;	}	return -5;}