runevseprint.c 313 B

1234567891011121314151617181920212223
  1. #include <u.h>
  2. #include <libc.h>
  3. Rune*
  4. runevseprint(Rune *buf, Rune *e, char *fmt, va_list args)
  5. {
  6. Fmt f;
  7. if(e <= buf)
  8. return nil;
  9. f.runes = 1;
  10. f.start = buf;
  11. f.to = buf;
  12. f.stop = e - 1;
  13. f.flush = nil;
  14. f.farg = nil;
  15. f.nfmt = 0;
  16. f.args = args;
  17. dofmt(&f, fmt);
  18. *(Rune*)f.to = '\0';
  19. return f.to;
  20. }