int compare_toc(toc_smart_ptr& pattern, info_base* base_ptr) { char pattern_buf[LARGE_BUFSIZ]; ostringstream pattern_out(pattern_buf, LARGE_BUFSIZ, ios::out); print_toc(pattern, pattern_out); toc_smart_ptr x(base_ptr, pattern.toc_node_oid()); char db_buf[LARGE_BUFSIZ]; ostringstream db_out(db_buf, LARGE_BUFSIZ, ios::out); print_toc(x, db_out); return compare_stream(pattern_out, db_out); }
int compare_graphic(graphic_smart_ptr& pattern, info_base* base_ptr) { char pattern_buf[LARGE_BUFSIZ]; ostrstream pattern_out(pattern_buf, LARGE_BUFSIZ, ios::out); print_graphic(pattern, pattern_out, false); char loc[BUFSIZ]; strcpy(loc, pattern.locator()); graphic_smart_ptr x( base_ptr, loc ); char db_buf[LARGE_BUFSIZ]; ostrstream db_out(db_buf, LARGE_BUFSIZ, ios::out); print_graphic(x, db_out, false); return compare_stream(pattern_out, db_out); }
int compare_stylesheet(stylesheet_smart_ptr& pattern, info_base* base_ptr) { char pattern_buf[LARGE_BUFSIZ]; ostringstream pattern_out(pattern_buf, LARGE_BUFSIZ, ios::out); print_stylesheet(pattern, pattern_out); char loc[BUFSIZ]; int len = MIN(strlen(pattern.name()), BUFSIZ - 1); *((char *) memcpy(loc, pattern.name(), len) + len) = '\0'; stylesheet_smart_ptr x( base_ptr, loc ); char db_buf[LARGE_BUFSIZ]; ostringstream db_out(db_buf, LARGE_BUFSIZ, ios::out); print_stylesheet(x, db_out); return compare_stream(pattern_out, db_out); }