Blame src/textdocvisitor.cpp

Packit 1c1d7e
/******************************************************************************
Packit 1c1d7e
 *
Packit 1c1d7e
 * 
Packit 1c1d7e
 *
Packit 1c1d7e
 *
Packit 1c1d7e
 * Copyright (C) 1997-2015 by Dimitri van Heesch.
Packit 1c1d7e
 *
Packit 1c1d7e
 * Permission to use, copy, modify, and distribute this software and its
Packit 1c1d7e
 * documentation under the terms of the GNU General Public License is hereby 
Packit 1c1d7e
 * granted. No representations are made about the suitability of this software 
Packit 1c1d7e
 * for any purpose. It is provided "as is" without express or implied warranty.
Packit 1c1d7e
 * See the GNU General Public License for more details.
Packit 1c1d7e
 *
Packit 1c1d7e
 * Documents produced by Doxygen are derivative works derived from the
Packit 1c1d7e
 * input used in their production; they are not affected by this license.
Packit 1c1d7e
 *
Packit 1c1d7e
 */
Packit 1c1d7e
Packit 1c1d7e
#include <qdir.h>
Packit 1c1d7e
#include "textdocvisitor.h"
Packit 1c1d7e
#include "message.h"
Packit 1c1d7e
#include "util.h"
Packit 1c1d7e
#include "htmlentity.h"
Packit 1c1d7e
Packit 1c1d7e
//-------------------------------------------------------------------------
Packit 1c1d7e
Packit 1c1d7e
void TextDocVisitor::visit(DocSymbol *s)
Packit 1c1d7e
{
Packit 1c1d7e
  const char *res = HtmlEntityMapper::instance()->html(s->symbol());
Packit 1c1d7e
  if (res)
Packit 1c1d7e
  {
Packit 1c1d7e
    m_t << res;
Packit 1c1d7e
  }
Packit 1c1d7e
  else
Packit 1c1d7e
  {
Packit 1c1d7e
    err("text: non supported HTML-entity found: %s\n",HtmlEntityMapper::instance()->html(s->symbol(),TRUE));
Packit 1c1d7e
  }
Packit 1c1d7e
}
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
void TextDocVisitor::filter(const char *str)
Packit 1c1d7e
{ 
Packit 1c1d7e
  if (str==0) return;
Packit 1c1d7e
  //printf("TextDocVisitor::filter(%s)\n",str);
Packit 1c1d7e
  const char *p=str;
Packit 1c1d7e
  char c;
Packit 1c1d7e
  while (*p)
Packit 1c1d7e
  {
Packit 1c1d7e
    c=*p++;
Packit 1c1d7e
    switch(c)
Packit 1c1d7e
    {
Packit 1c1d7e
      case '\n':  m_t << " ";      break;
Packit 1c1d7e
      case '"':   m_t << """; break;
Packit 1c1d7e
      case '\'':  m_t << "'";  break;
Packit 1c1d7e
      case '<':   m_t << "<";   break;
Packit 1c1d7e
      case '>':   m_t << ">";   break;
Packit 1c1d7e
      case '&':   m_t << "&";  break;
Packit 1c1d7e
      default:    m_t << c;
Packit 1c1d7e
    }
Packit 1c1d7e
  }
Packit 1c1d7e
}
Packit 1c1d7e