/* *INDENT-OFF* */ /* ATTRIBUTE_PRINTF confuses indent, avoid running it
for now. */
/* I/O, string, cleanup, and other random utilities for GDB.
- Copyright (C) 1986-2019 Free Software Foundation, Inc.
+ Copyright (C) 1986-2020 Free Software Foundation, Inc.
This file is part of GDB.
extern struct ui_file **current_ui_gdb_stderr_ptr (void);
extern struct ui_file **current_ui_gdb_stdlog_ptr (void);
+/* Flush STREAM. This is a wrapper for ui_file_flush that also
+ flushes any output pending from uses of the *_filtered output
+ functions; that output is kept in a special buffer so that
+ pagination and styling are handled properly. */
+extern void gdb_flush (struct ui_file *);
+
/* The current top level's ui_file streams. */
/* Normal results */
const gdb_byte *source, ULONGEST source_offset,
ULONGEST nbits, int bits_big_endian);
-/* A fast hashing function. This can be used to hash strings in a fast way
+/* A fast hashing function. This can be used to hash data in a fast way
when the length is known. If no fast hashing library is available, falls
- back to iterative_hash from libiberty. */
+ back to iterative_hash from libiberty. START_VALUE can be set to
+ continue hashing from a previous value. */
static inline unsigned int
-fast_hash (const char* str, size_t len)
+fast_hash (const void *ptr, size_t len, unsigned int start_value = 0)
{
#ifdef HAVE_LIBXXHASH
- return XXH64 (str, len, 0);
+ return XXH64 (ptr, len, start_value);
#else
- return iterative_hash (str, len, 0);
+ return iterative_hash (ptr, len, start_value);
#endif
}