mbfl_string.c 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. #ifdef HAVE_CONFIG_H
  31. #include "config.h"
  32. #endif
  33. #ifdef HAVE_STDDEF_H
  34. #include <stddef.h>
  35. #endif
  36. #include "mbfl_allocators.h"
  37. #include "mbfl_string.h"
  38. /*
  39. * string object
  40. */
  41. void
  42. mbfl_string_init(mbfl_string *string)
  43. {
  44. if (string) {
  45. string->no_language = mbfl_no_language_uni;
  46. string->no_encoding = mbfl_no_encoding_pass;
  47. string->val = (unsigned char*)NULL;
  48. string->len = 0;
  49. }
  50. }
  51. void
  52. mbfl_string_init_set(mbfl_string *string, mbfl_language_id no_language, mbfl_encoding_id no_encoding)
  53. {
  54. if (string) {
  55. string->no_language = no_language;
  56. string->no_encoding = no_encoding;
  57. string->val = (unsigned char*)NULL;
  58. string->len = 0;
  59. }
  60. }
  61. void
  62. mbfl_string_clear(mbfl_string *string)
  63. {
  64. if (string) {
  65. if (string->val != (unsigned char*)NULL) {
  66. mbfl_free(string->val);
  67. }
  68. string->val = (unsigned char*)NULL;
  69. string->len = 0;
  70. }
  71. }