extern void fputstrn_filtered (const char *str, int n, int quotr,
struct ui_file * stream);
+typedef int (*do_fputc_ftype) (int c, ui_file *stream);
+
extern void fputstrn_unfiltered (const char *str, int n, int quotr,
+ do_fputc_ftype do_fputc,
struct ui_file * stream);
/* Return nonzero if filtered printing is initialized. */
extern int myread (int, char *, int);
-/* Ensure that V is aligned to an N byte boundary (B's assumed to be a
- power of 2). Round up/down when necessary. Examples of correct
- use include:
-
- addr = align_up (addr, 8); -- VALUE needs 8 byte alignment
- write_memory (addr, value, len);
- addr += len;
-
- and:
-
- sp = align_down (sp - len, 16); -- Keep SP 16 byte aligned
- write_memory (sp, value, len);
-
- Note that uses such as:
-
- write_memory (addr, value, len);
- addr += align_up (len, 8);
-
- and:
-
- sp -= align_up (len, 8);
- write_memory (sp, value, len);
-
- are typically not correct as they don't ensure that the address (SP
- or ADDR) is correctly aligned (relying on previous alignment to
- keep things right). This is also why the methods are called
- "align_..." instead of "round_..." as the latter reads better with
- this incorrect coding style. */
-
-extern ULONGEST align_up (ULONGEST v, int n);
-extern ULONGEST align_down (ULONGEST v, int n);
-
/* Resource limits used by getrlimit and setrlimit. */
enum resource_limit_kind