input_resource_basename.vala 888 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /*
  2. * Copyright (c) 2012-2026 Daniele Bartolini et al.
  3. * SPDX-License-Identifier: GPL-3.0-or-later
  4. */
  5. namespace Crown
  6. {
  7. public class InputResourceBasename : InputString
  8. {
  9. public InputResourceBasename(string basename)
  10. {
  11. _value = "unset";
  12. set_value_safe(basename);
  13. }
  14. public override void set_value_safe(string val)
  15. {
  16. if (val.length == 0
  17. || val.has_prefix(" ")
  18. || val.has_suffix(" ")
  19. || val.index_of_char('.') != -1
  20. || val.index_of_char('<') != -1
  21. || val.index_of_char('>') != -1
  22. || val.index_of_char(':') != -1
  23. || val.index_of_char('"') != -1
  24. || val.index_of_char('/') != -1
  25. || val.index_of_char('\\') != -1
  26. || val.index_of_char('|') != -1
  27. || val.index_of_char('?') != -1
  28. || val.index_of_char('*') != -1
  29. || val.is_ascii() == false
  30. ) {
  31. this.value = _value;
  32. return;
  33. }
  34. base.set_value_safe(val);
  35. }
  36. }
  37. } /* namespace Crown */