Skip to content
Snippets Groups Projects
  1. Sep 18, 2022
  2. Sep 08, 2022
    • Jonathan Schöbel's avatar
      added "wrap mode" for html generation · f027c56d
      Jonathan Schöbel authored
      When the wrap mode is used, after each tag a newline is started. Also the
      html is indented, which can be configured by the parameters indent_base,
      indent_base, indent_char. The parameter indent_base specifies the width
      the first tag should be indented with, while indent_step specifies the
      increment of the indent when switching to a child tag. The character,
      that is used for indenting is taken from indent_char. (It could also be
      a string longer than a single character).
      This aguments can't be set by the user, but are hardcoded (by now).
      f027c56d
    • Jonathan Schöbel's avatar
      added copy methods (Fragment) · ce4fcf29
      Jonathan Schöbel authored
      Fragment can be copied, either recursive (copying also all childs) or
      nonrecursive (ignoring the childs, thus the copy has always no childs).
      Adding the same element twice in the tree (graph) isn't possible, as
      this leads to problems e.g. double free or similars.
      ce4fcf29
  3. Sep 05, 2022
  4. Sep 04, 2022
    • Jonathan Schöbel's avatar
      child for Fragment · c57027bc
      Jonathan Schöbel authored
      A Fragment can contain childs. When building the html, the childs html
      is generated where appropiate.
      c57027bc
  5. Sep 01, 2022
  6. Jun 22, 2022
  7. Aug 31, 2022
  8. Jun 20, 2022
    • Jonathan Schöbel's avatar
      added test for Fragment · 6f933e85
      Jonathan Schöbel authored
      6f933e85
    • Jonathan Schöbel's avatar
      added test for CMS · 46436e8a
      Jonathan Schöbel authored
      Tests are done using check, allowing to integrate the tests into the
      Autotools.
      Methods that are part of another unit, but are called in this unit
      aren't tested as this would interfere with the idea of unittests. This
      also applies for purely wrapper functions, where a call is passed to
      another unit.
      46436e8a
  9. Jun 21, 2022
    • Jonathan Schöbel's avatar
      error handling added · 6a592b8d
      Jonathan Schöbel authored
      Error handling is done by passing an Error structure as inout parameter
      to functions that can fail on runtime predictable. This parameter is
      always the last one. Methods, where this is not the case, doesn't have an
      error parameter.
      When an Error is detected, also an ERROR is passed to the log. Because
      this isn't implemented yet, it is replaced by a nop.
      The macro EXIT becomes now useless. It was used earlier in case of an
      error, to terminate the program in the first place. This behaviour is not
      userfriendly, but it can't be decided on the library's side, whether
      there is an option to inform the user, something must be cleaned up or
      even that recovering is possible at all.
      Often these recognized errors are a non-working malloc or an over-/underflow.
      
      Error handling can be ignored by the caller by passing NULL to the Error
      parameter. Whether an error had occured, is also always possible to be
      determined, by examining the return value. If the error occours in a
      function returning a pointer, NULL will be returned. If it returns an value,
      a special error value of that type is returned, i.e. PAGE_ERR in
      SH_Data_register_page. If the return type would be void, a boolean is returned,
      which tells, whether the method has succeeded.
      (False means, that an error has occured.)
      
      The error may have occured in an intern method and is passed upwards (the stack).
      Internally errors are handled by an enum, but this must be considered an
      implementation detail and can be changed in later versions.
      It is in the responsibility of the caller to recover gracefully. It has
      to be assumed that the requested operation have neither worked, nor
      actually took place. Those the operation can be retried (hopefully).
      6a592b8d
  10. Jun 20, 2022
Loading