Kouhei Sutou
null+****@clear*****
Wed Jun 12 12:28:09 JST 2013
Kouhei Sutou 2013-06-12 12:28:09 +0900 (Wed, 12 Jun 2013) New Revision: 802dc006c1cb768f6575008b45756b3783483a3f https://github.com/groonga/groonga/commit/802dc006c1cb768f6575008b45756b3783483a3f Message: Remove unused function grn_text_otoxml() Modified files: lib/str.c lib/str.h Modified: lib/str.c (+0 -160) =================================================================== --- lib/str.c 2013-06-12 12:10:50 +0900 (ee637a2) +++ lib/str.c 2013-06-12 12:28:09 +0900 (ea2ff34) @@ -2974,166 +2974,6 @@ grn_text_otoj(grn_ctx *ctx, grn_obj *bulk, grn_obj *obj, grn_obj_format *format) return GRN_SUCCESS; } -grn_rc -grn_text_otoxml(grn_ctx *ctx, grn_obj *bulk, grn_obj *obj, grn_obj_format *format) -{ - grn_obj buf; - GRN_TEXT_INIT(&buf, 0); - switch (obj->header.type) { - case GRN_BULK : - switch (obj->header.domain) { - case GRN_DB_VOID : - case GRN_DB_SHORT_TEXT : - case GRN_DB_TEXT : - case GRN_DB_LONG_TEXT : - grn_text_escape_xml(ctx, bulk, GRN_BULK_HEAD(obj), GRN_BULK_VSIZE(obj)); - break; - case GRN_DB_BOOL : - if (*((unsigned char *)GRN_BULK_HEAD(obj))) { - GRN_TEXT_PUTS(ctx, bulk, "true"); - } else { - GRN_TEXT_PUTS(ctx, bulk, "false"); - } - break; - case GRN_DB_INT32 : - grn_text_itoa(ctx, bulk, GRN_BULK_VSIZE(obj) ? GRN_INT32_VALUE(obj) : 0); - break; - case GRN_DB_UINT32 : - grn_text_lltoa(ctx, bulk, GRN_BULK_VSIZE(obj) ? GRN_UINT32_VALUE(obj) : 0); - break; - case GRN_DB_INT64 : - grn_text_lltoa(ctx, bulk, GRN_BULK_VSIZE(obj) ? GRN_INT64_VALUE(obj) : 0); - break; - case GRN_DB_UINT64 : - grn_text_lltoa(ctx, bulk, GRN_BULK_VSIZE(obj) ? GRN_UINT64_VALUE(obj) : 0); - break; - case GRN_DB_FLOAT : - grn_text_ftoa(ctx, bulk, GRN_BULK_VSIZE(obj) ? GRN_FLOAT_VALUE(obj) : 0); - break; - case GRN_DB_TIME : - { - double dv= *((int64_t *)GRN_BULK_HEAD(obj)); - dv /= 1000000.0; - grn_text_ftoa(ctx, bulk, dv); /* TODO: implement ISO 8601 */ - } - break; - case GRN_DB_TOKYO_GEO_POINT : - case GRN_DB_WGS84_GEO_POINT : - if (GRN_BULK_VSIZE(obj) == sizeof(grn_geo_point)) { - grn_geo_point *gp = (grn_geo_point *)GRN_BULK_HEAD(obj); - GRN_TEXT_PUTC(ctx, bulk, '"'); - grn_text_itoa(ctx, bulk, gp->latitude); - GRN_TEXT_PUTC(ctx, bulk, 'x'); - grn_text_itoa(ctx, bulk, gp->longitude); - GRN_TEXT_PUTC(ctx, bulk, '"'); - } else { - GRN_TEXT_PUTS(ctx, bulk, "\"0x0\""); - } - break; - default : - { - grn_obj *table = grn_ctx_at(ctx, obj->header.domain); - grn_obj *accessor = grn_obj_column(ctx, table, "_key", 4); - if (accessor) { - grn_obj_get_value(ctx, accessor, *((grn_id *)GRN_BULK_HEAD(obj)), &buf); - grn_obj_unlink(ctx, accessor); - } - grn_text_escape_xml(ctx, bulk, GRN_BULK_HEAD(&buf), GRN_BULK_VSIZE(&buf)); - } - } - break; - case GRN_UVECTOR : - /* TODO: implement */ - break; - case GRN_TABLE_HASH_KEY : - case GRN_TABLE_PAT_KEY : - case GRN_TABLE_NO_KEY : - { - int i, j; - int ncolumns = GRN_BULK_VSIZE(&format->columns)/sizeof(grn_obj *); - grn_obj **columns = (grn_obj **)GRN_BULK_HEAD(&format->columns); - grn_table_cursor *tc = grn_table_cursor_open(ctx, obj, NULL, 0, NULL, 0, - format->offset, format->limit, - GRN_CURSOR_ASCENDING); - switch (format->flags & GRN_OBJ_FORMAT_XML_ELEMENT_MASK) { - case GRN_OBJ_FORMAT_XML_ELEMENT_RESULTSET: - GRN_TEXT_PUTS(ctx, bulk, "<RESULTSET OFFSET=\""); - grn_text_itoa(ctx, bulk, format->hits_offset); - GRN_TEXT_PUTS(ctx, bulk, "\" LIMIT=\""); - grn_text_itoa(ctx, bulk, format->limit); - GRN_TEXT_PUTS(ctx, bulk, "\" NHITS=\""); - grn_text_itoa(ctx, bulk, format->nhits); - GRN_TEXT_PUTS(ctx, bulk, "\">\n"); - break; - case GRN_OBJ_FORMAT_XML_ELEMENT_NAVIGATIONENTRY: - GRN_ASSERT(ncolumns == 2); - GRN_TEXT_PUTS(ctx, bulk, "<NAVIGATIONENTRY>"); - /* FIXME: implement SAMPLECOUNT attritube */ - GRN_TEXT_PUTS(ctx, bulk, "<NAVIGATIONELEMENTS COUNT=\""); - grn_text_itoa(ctx, bulk, grn_table_size(ctx, obj)); - GRN_TEXT_PUTS(ctx, bulk, "\">"); - break; - } - /* TODO: add TIME attribute to RESULTSET element. */ - if (tc) { - int hit_no; - grn_id id; - for (i = format->offset + 1, hit_no = format->hits_offset + 1; - (id = grn_table_cursor_next(ctx, tc)) != GRN_ID_NIL; - i++, hit_no++) { - switch (format->flags & GRN_OBJ_FORMAT_XML_ELEMENT_MASK) { - case GRN_OBJ_FORMAT_XML_ELEMENT_RESULTSET: - GRN_TEXT_PUTS(ctx, bulk, "<HIT NO=\""); - grn_text_itoa(ctx, bulk, hit_no); - GRN_TEXT_PUTS(ctx, bulk, "\">\n"); - for (j = 0; j < ncolumns; j++) { - GRN_TEXT_PUTS(ctx, bulk, "<FIELD NAME=\""); - GRN_BULK_REWIND(&buf); - grn_column_name_(ctx, columns[j], &buf); - grn_text_escape_xml(ctx, bulk, GRN_TEXT_VALUE(&buf), GRN_TEXT_LEN(&buf)); - GRN_TEXT_PUTS(ctx, bulk, "\">"); - - GRN_BULK_REWIND(&buf); - grn_obj_get_value(ctx, columns[j], id, &buf); - grn_text_otoxml(ctx, bulk, &buf, NULL); - - GRN_TEXT_PUTS(ctx, bulk, "</FIELD>\n"); - } - GRN_TEXT_PUTS(ctx, bulk, "</HIT>\n"); - break; - case GRN_OBJ_FORMAT_XML_ELEMENT_NAVIGATIONENTRY: - GRN_TEXT_PUTS(ctx, bulk, "<NAVIGATIONELEMENT "); - for (j = 0; j < ncolumns; j++) { - GRN_BULK_REWIND(&buf); - grn_column_name_(ctx, columns[j], &buf); - grn_text_escape_xml(ctx, bulk, GRN_TEXT_VALUE(&buf), GRN_TEXT_LEN(&buf)); - GRN_TEXT_PUTS(ctx, bulk, "=\""); - GRN_BULK_REWIND(&buf); - grn_obj_get_value(ctx, columns[j], id, &buf); - grn_text_otoxml(ctx, bulk, &buf, NULL); - GRN_TEXT_PUTS(ctx, bulk, "\" "); - } - GRN_TEXT_PUTS(ctx, bulk, "/>"); - break; - } - } - grn_table_cursor_close(ctx, tc); - } - switch (format->flags & GRN_OBJ_FORMAT_XML_ELEMENT_MASK) { - case GRN_OBJ_FORMAT_XML_ELEMENT_RESULTSET: - GRN_TEXT_PUTS(ctx, bulk, "</RESULTSET>\n"); - break; - case GRN_OBJ_FORMAT_XML_ELEMENT_NAVIGATIONENTRY: - GRN_TEXT_PUTS(ctx, bulk, "</NAVIGATIONELEMENTS></NAVIGATIONENTRY>"); - break; - } - } - break; - } - grn_obj_close(ctx, &buf); - return GRN_SUCCESS; -} - const char * grn_text_urldec(grn_ctx *ctx, grn_obj *buf, const char *p, const char *e, char d) { Modified: lib/str.h (+0 -2) =================================================================== --- lib/str.h 2013-06-12 12:10:50 +0900 (ec044b3) +++ lib/str.h 2013-06-12 12:28:09 +0900 (069250a) @@ -113,8 +113,6 @@ GRN_API void grn_str_url_path_normalize(grn_ctx *ctx, const char *path, size_t path_len, char *buf, size_t buf_len); -GRN_API grn_rc grn_text_otoxml(grn_ctx *ctx, grn_obj *bulk, grn_obj *obj, - grn_obj_format *format); #define GRN_OBJ_FORMAT_XML_ELEMENT_MASK (0x01<<1) #define GRN_OBJ_FORMAT_XML_ELEMENT_RESULTSET (0x00<<1) #define GRN_OBJ_FORMAT_XML_ELEMENT_NAVIGATIONENTRY (0x01<<1) -------------- next part -------------- HTML����������������������������...Download