/sys/boot/forth/version.4th

https://bitbucket.org/iorivur/freebsd-bhyve-with-suspend-resume · Forth · 60 lines · 52 code · 8 blank · 0 comment · 1 complexity · 1d4d643647779938c0b59b08cd7edee5 MD5 · raw file

  1. \ Copyright (c) 2006-2011 Devin Teske <dteske@FreeBSD.org>
  2. \ All rights reserved.
  3. \
  4. \ Redistribution and use in source and binary forms, with or without
  5. \ modification, are permitted provided that the following conditions
  6. \ are met:
  7. \ 1. Redistributions of source code must retain the above copyright
  8. \ notice, this list of conditions and the following disclaimer.
  9. \ 2. Redistributions in binary form must reproduce the above copyright
  10. \ notice, this list of conditions and the following disclaimer in the
  11. \ documentation and/or other materials provided with the distribution.
  12. \
  13. \ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  14. \ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  15. \ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  16. \ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  17. \ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  18. \ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  19. \ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  20. \ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  21. \ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  22. \ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  23. \ SUCH DAMAGE.
  24. \
  25. \ $FreeBSD: head/sys/boot/forth/version.4th 238431 2012-07-14 01:45:35Z dteske $
  26. marker task-version.4th
  27. variable versionX
  28. variable versionY
  29. \ Initialize text placement to defaults
  30. 80 versionX ! \ NOTE: this is the ending column (text is right-justified)
  31. 24 versionY !
  32. : print_version ( -- )
  33. \ Get the text placement position (if set)
  34. s" loader_version_x" getenv dup -1 <> if
  35. ?number drop versionX ! -1
  36. then drop
  37. s" loader_version_y" getenv dup -1 <> if
  38. ?number drop versionY ! -1
  39. then drop
  40. \ Exit if a version was not set
  41. s" loader_version" getenv dup -1 = if
  42. drop exit
  43. then
  44. \ Right justify the text
  45. dup versionX @ swap - versionY @ at-xy
  46. \ Print the version (optionally in cyan)
  47. loader_color? if
  48. ." " type ." "
  49. else
  50. type
  51. then
  52. ;