Ohm-Management - Projektarbeit B-ME
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

escape.js 968B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. // Copyright 2011 Mark Cavage, Inc. All rights reserved.
  2. /**
  3. * RFC 2254 Escaping of filter strings
  4. *
  5. * Raw Escaped
  6. * (o=Parens (R Us)) (o=Parens \28R Us\29)
  7. * (cn=star*) (cn=star\2A)
  8. * (filename=C:\MyFile) (filename=C:\5cMyFile)
  9. *
  10. * Use substr_filter to avoid having * ecsaped.
  11. *
  12. * @author [Austin King](https://github.com/ozten)
  13. */
  14. exports.escape = function (inp) {
  15. if (typeof (inp) === 'string') {
  16. var esc = '';
  17. for (var i = 0; i < inp.length; i++) {
  18. switch (inp[i]) {
  19. case '*':
  20. esc += '\\2a';
  21. break;
  22. case '(':
  23. esc += '\\28';
  24. break;
  25. case ')':
  26. esc += '\\29';
  27. break;
  28. case '\\':
  29. esc += '\\5c';
  30. break;
  31. case '\0':
  32. esc += '\\00';
  33. break;
  34. default:
  35. esc += inp[i];
  36. break;
  37. }
  38. }
  39. return esc;
  40. } else {
  41. return inp;
  42. }
  43. };