Lines Matching refs:buffer
78 /*** Bounded buffer output
83 char *buffer;
113 buf_out_init(BufOut *bo, char *buffer, size_t size)
120 bo->buffer = buffer;
121 bo->end = buffer + size - 1;
122 bo->pos = bo->buffer;
348 /* write an octal/decimal/number into a bounded buffer.
353 format_number(char *buffer, size_t bufsize, uint64_t value, int base, const char *digits)
355 char *pos = buffer;
356 char *end = buffer + bufsize - 1;
368 if (pos == buffer) {
377 pos = buffer;
387 /* Write an integer (octal or decimal) into a buffer, assumes buffsize > 2 */
389 format_integer(char *buffer, size_t buffsize, uint64_t value, int base, int isSigned)
392 buffer[0] = '-';
393 buffer += 1;
398 format_number(buffer, buffsize, value, base, "0123456789");
401 /* Write an octal into a buffer, assumes buffsize > 2 */
403 format_octal(char *buffer, size_t buffsize, uint64_t value, int isSigned)
405 format_integer(buffer, buffsize, value, 8, isSigned);
408 /* Write a decimal into a buffer, assumes buffsize > 2 */
410 format_decimal(char *buffer, size_t buffsize, uint64_t value, int isSigned)
412 format_integer(buffer, buffsize, value, 10, isSigned);
415 /* Write an hexadecimal into a buffer, isCap is true for capital alphas.
418 format_hex(char *buffer, size_t buffsize, uint64_t value, int isCap)
422 format_number(buffer, buffsize, value, 16, digits);
442 char buffer[32]; /* temporary buffer used to format numbers */
541 buffer[0] = (char) va_arg(args, int);
542 buffer[1] = '\0';
543 str = buffer;
546 buffer[0] = '0';
547 buffer[1] = 'x';
548 format_hex(buffer + 2, sizeof buffer-2, value, 0);
549 str = buffer;
572 /* format the number properly into our buffer */
575 format_integer(buffer, sizeof buffer, value, 10, isSigned);
578 format_integer(buffer, sizeof buffer, value, 8, isSigned);
581 format_hex(buffer, sizeof buffer, value, (c == 'X'));
584 buffer[0] = '\0';
587 str = buffer;
630 char buffer[16];
635 buffer[0] = '1';
636 out = buf_out_init(bo, buffer, sizeof buffer);
637 UTEST_CHECK(buffer[0] == '\0', "buf_out_init clears initial byte");
639 UTEST_CHECK(!memcmp(buffer, "abc", 4), "out_send() works with BufOut");
641 UTEST_CHECK(!memcmp(buffer, "abcXXXX", 8), "out_send_repeat() works with BufOut");
642 buffer[sizeof buffer-1] = 'x';
643 out_send_repeat(out, 'Y', 2*sizeof(buffer));
644 UTEST_CHECK(buffer[sizeof buffer-1] == '\0', "overflows always zero-terminates");
646 out = buf_out_init(bo, buffer, sizeof buffer);
647 out_send_repeat(out, 'X', 2*sizeof(buffer));
649 UTEST_CHECK(ret == 2*sizeof(buffer), "correct size returned on overflow");
657 char buffer[256];
658 Out* out = buf_out_init(bo, buffer, sizeof buffer);
665 if (strcmp(result, buffer)) {
666 buffer, result);