mbfl_string.c 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*
  2. * "streamable kanji code filter and converter"
  3. * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved.
  4. *
  5. * LICENSE NOTICES
  6. *
  7. * This file is part of "streamable kanji code filter and converter",
  8. * which is distributed under the terms of GNU Lesser General Public
  9. * License (version 2) as published by the Free Software Foundation.
  10. *
  11. * This software is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. * GNU Lesser General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU Lesser General Public
  17. * License along with "streamable kanji code filter and converter";
  18. * if not, write to the Free Software Foundation, Inc., 59 Temple Place,
  19. * Suite 330, Boston, MA 02111-1307 USA
  20. *
  21. * The author of this file:
  22. *
  23. */
  24. /*
  25. * The source code included in this files was separated from mbfilter.c
  26. * by Moriyoshi Koizumi <moriyoshi@php.net> on 20 Dec 2002. The file
  27. * mbfilter.c is included in this package .
  28. *
  29. */
  30. #include "mbfl_string.h"
  31. #include "mbfilter_pass.h"
  32. void mbfl_string_init_set(mbfl_string *string, const mbfl_encoding *encoding)
  33. {
  34. string->encoding = encoding;
  35. string->val = NULL;
  36. string->len = 0;
  37. }
  38. void mbfl_string_init(mbfl_string *string)
  39. {
  40. mbfl_string_init_set(string, &mbfl_encoding_pass);
  41. }
  42. void mbfl_string_clear(mbfl_string *string)
  43. {
  44. if (string->val) {
  45. efree(string->val);
  46. }
  47. mbfl_string_init_set(string, NULL); /* Poison it so any attempt to reuse will fail hard */
  48. }