print.c 778 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #include "u.h"
  2. #include "lib.h"
  3. #include "fns.h"
  4. #include "dat.h"
  5. #define SIZE 1024
  6. int
  7. print(char *fmt, ...)
  8. {
  9. char buf[SIZE], *out;
  10. va_list arg;
  11. va_start(arg, fmt);
  12. out = donprint(buf, buf+SIZE, fmt, arg);
  13. va_end(arg);
  14. serialputs(buf, out-buf);
  15. return out-buf;
  16. }
  17. int
  18. sprint(char *buf, char *fmt, ...)
  19. {
  20. char *out;
  21. va_list arg;
  22. va_start(arg, fmt);
  23. out = donprint(buf, buf+SIZE, fmt, arg);
  24. va_end(arg);
  25. return out-buf;
  26. }
  27. int
  28. snprint(char *buf, int len, char *fmt, ...)
  29. {
  30. char *out;
  31. va_list arg;
  32. va_start(arg, fmt);
  33. out = donprint(buf, buf+len, fmt, arg);
  34. va_end(arg);
  35. return out-buf;
  36. }
  37. char*
  38. seprint(char *buf, char *e, char *fmt, ...)
  39. {
  40. char *out;
  41. va_list arg;
  42. va_start(arg, fmt);
  43. out = donprint(buf, e, fmt, arg);
  44. va_end(arg);
  45. return out;
  46. }