[Groonga-commit] groonga/groonga [master] Output header info in tsv format when requested in h_server()

Back to archive index

null+****@clear***** null+****@clear*****
2010年 6月 24日 (木) 09:18:03 JST


Daijiro MORI	2010-06-24 00:18:03 +0000 (Thu, 24 Jun 2010)

  New Revision: 8f553a26e9d7fdd030b08d3293867fbb058be00e

  Log:
    Output header info in tsv format when requested in h_server()

  Modified files:
    src/groonga.c

  Modified: src/groonga.c (+29 -0)
===================================================================
--- src/groonga.c    2010-06-23 05:57:21 +0000 (c18cba7)
+++ src/groonga.c    2010-06-24 00:18:03 +0000 (53f3d1c)
@@ -350,6 +350,35 @@ print_return_code(grn_ctx *ctx, grn_rc rc, grn_obj *head, grn_obj *body, grn_obj
     GRN_TEXT_PUTC(ctx, foot, ']');
     break;
   case GRN_CONTENT_TSV:
+    grn_text_itoa(ctx, head, rc);
+    GRN_TEXT_PUTC(ctx, head, '\t');
+    {
+      double dv;
+      grn_timeval tv;
+      grn_timeval_now(ctx, &tv);
+      dv = ctx->impl->tv.tv_sec;
+      dv += ctx->impl->tv.tv_usec / 1000000.0;
+      grn_text_ftoa(ctx, head, dv);
+      dv = (tv.tv_sec - ctx->impl->tv.tv_sec);
+      dv += (tv.tv_usec - ctx->impl->tv.tv_usec) / 1000000.0;
+      GRN_TEXT_PUTC(ctx, head, '\t');
+      grn_text_ftoa(ctx, head, dv);
+    }
+    if (rc != GRN_SUCCESS) {
+      GRN_TEXT_PUTC(ctx, head, '\t');
+      grn_text_esc(ctx, head, ctx->errbuf, strlen(ctx->errbuf));
+      if (ctx->errfunc && ctx->errfile) {
+        /* TODO: output backtrace */
+        GRN_TEXT_PUTC(ctx, head, '\t');
+        grn_text_esc(ctx, head, ctx->errfunc, strlen(ctx->errfunc));
+        GRN_TEXT_PUTC(ctx, head, '\t');
+        grn_text_esc(ctx, head, ctx->errfile, strlen(ctx->errfile));
+        GRN_TEXT_PUTC(ctx, head, '\t');
+        grn_text_itoa(ctx, head, ctx->errline);
+      }
+    }
+    GRN_TEXT_PUTC(ctx, head, '\n');
+    break;
   case GRN_CONTENT_XML:
     GRN_TEXT_PUTS(ctx, head, "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RESULT CODE=\"");
     grn_text_itoa(ctx, head, rc);




Groonga-commit メーリングリストの案内
Back to archive index