}
}
#else
-#define saxdb_pre_object(DEST)
+#define saxdb_pre_object(DEST)
#endif
static inline void
void
saxdb_write_int(struct saxdb_context *dest, const char *name, unsigned long value) {
- unsigned char buf[16];
+ char buf[16];
/* we could optimize this to take advantage of the fact that buf will never need escapes */
snprintf(buf, sizeof(buf), "%lu", value);
saxdb_write_string(dest, name, buf);
}
+void
+saxdb_write_sint(struct saxdb_context *dest, const char *name, long value) {
+ char buf[16];
+ /* we could optimize this to take advantage of the fact that buf will never need escapes */
+ snprintf(buf, sizeof(buf), "%ld", value);
+ saxdb_write_string(dest, name, buf);
+}
+
static void
saxdb_free(void *data) {
struct saxdb *db = data;
tbl.contents[0][4] = "Last Duration";
for (ii=1, it=dict_first(saxdbs); it; it=iter_next(it), ++ii) {
struct saxdb *db = iter_data(it);
+ if (db->mondo_section) {
+ --ii;
+ continue;
+ }
char *buf = malloc(INTERVALLEN*3);
tbl.contents[ii] = calloc(tbl.width, sizeof(tbl.contents[ii][0]));
tbl.contents[ii][0] = db->name;
tbl.contents[ii][1] = db->mondo_section ? db->mondo_section : db->filename;
if (db->write_interval) {
- intervalString(buf, db->write_interval);
+ intervalString(buf, db->write_interval, user->handle_info);
} else {
strcpy(buf, "Never");
}
tbl.contents[ii][2] = buf;
if (db->last_write) {
- intervalString(buf+INTERVALLEN, now - db->last_write);
- intervalString(buf+INTERVALLEN*2, db->last_write_duration);
+ intervalString(buf+INTERVALLEN, now - db->last_write, user->handle_info);
+ intervalString(buf+INTERVALLEN*2, db->last_write_duration, user->handle_info);
} else {
strcpy(buf+INTERVALLEN, "Never");
strcpy(buf+INTERVALLEN*2, "Never");
tbl.contents[ii][3] = buf+INTERVALLEN;
tbl.contents[ii][4] = buf+INTERVALLEN*2;
}
+ tbl.length = ii;
table_send(cmd->parent->bot, user->nick, 0, 0, tbl);
free(tbl.contents[0]);
for (ii=1; ii<tbl.length; ++ii) {