From: Michael Poole Date: Mon, 12 Mar 2007 02:29:54 +0000 (-0400) Subject: Add saxdb_write_sint() to handle signed values. X-Git-Tag: v1.4.0-rc1~52 X-Git-Url: http://git.pk910.de/?a=commitdiff_plain;h=b192eeed5b9af0bf0e31d251ee0121b22afffd4a;hp=93c1b8e63fd363a61a0eac9ecf8883d389d0cc5a;p=srvx.git Add saxdb_write_sint() to handle signed values. src/saxdb.* (saxdb_write_sint): New function. --- diff --git a/src/saxdb.c b/src/saxdb.c index 6439af0..bfb93ca 100644 --- a/src/saxdb.c +++ b/src/saxdb.c @@ -302,6 +302,14 @@ saxdb_write_int(struct saxdb_context *dest, const char *name, unsigned long valu 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; diff --git a/src/saxdb.h b/src/saxdb.h index bc063c0..0a2eecb 100644 --- a/src/saxdb.h +++ b/src/saxdb.h @@ -55,6 +55,7 @@ void saxdb_end_record(struct saxdb_context *dest); void saxdb_write_string_list(struct saxdb_context *dest, const char *name, struct string_list *list); void saxdb_write_string(struct saxdb_context *dest, const char *name, const char *value); void saxdb_write_int(struct saxdb_context *dest, const char *name, unsigned long value); +void saxdb_write_sint(struct saxdb_context *dest, const char *name, long value); /* For doing db writing by hand */ struct saxdb_context *saxdb_open_context(FILE *f);