forked from Lainports/freebsd-ports
53 lines
1.3 KiB
C
53 lines
1.3 KiB
C
--- src/rbart_canvas.c.orig Mon Jan 20 01:04:03 2003
|
|
+++ src/rbart_canvas.c Fri Mar 21 20:06:11 2003
|
|
@@ -156,6 +156,7 @@
|
|
return r_self;
|
|
}
|
|
|
|
+#if 0
|
|
static void
|
|
user_init_destination(cinfo)
|
|
j_compress_ptr cinfo;
|
|
@@ -188,6 +189,42 @@
|
|
r_buffer = (VALUE) cinfo->client_data;
|
|
RSTRING(r_buffer)->len = RSTRING(r_buffer)->aux.capa - cinfo->dest->free_in_buffer;
|
|
RSTRING(r_buffer)->ptr[RSTRING(r_buffer)->len] = '\0';
|
|
+}
|
|
+#endif
|
|
+
|
|
+struct client_data {
|
|
+ VALUE r_result;
|
|
+ JOCTET buffer[BUFSIZ];
|
|
+};
|
|
+
|
|
+static void
|
|
+user_init_destination(cinfo)
|
|
+ j_compress_ptr cinfo;
|
|
+{
|
|
+ struct client_data *cd;
|
|
+ cd = (struct client_data *) cinfo->client_data;
|
|
+ cinfo->dest->next_output_byte = cd->buffer;
|
|
+ cinfo->dest->free_in_buffer = BUFSIZ;
|
|
+}
|
|
+
|
|
+static boolean
|
|
+user_empty_output_buffer(cinfo)
|
|
+ j_compress_ptr cinfo;
|
|
+{
|
|
+ struct client_data *cd;
|
|
+ cd = (struct client_data *) cinfo->client_data;
|
|
+ rb_str_cat(cd->r_result, cd->buffer, BUFSIZ);
|
|
+ cinfo->dest->next_output_byte = cd->buffer;
|
|
+ cinfo->dest->free_in_buffer = BUFSIZ;
|
|
+}
|
|
+
|
|
+static void
|
|
+user_term_destination(cinfo)
|
|
+ j_compress_ptr cinfo;
|
|
+{
|
|
+ struct client_data *cd;
|
|
+ cd = (struct client_data *) cinfo->client_data;
|
|
+ rb_str_cat(cd->r_result, cd->buffer, cinfo->dest->next_output_byte - cd->buffer);
|
|
}
|
|
|
|
static VALUE
|