~ubuntu-branches/ubuntu/quantal/aria2/quantal

« back to all changes in this revision

Viewing changes to src/ExpatXmlRpcRequestProcessor.cc

  • Committer: Bazaar Package Importer
  • Author(s): Kartik Mistry
  • Date: 2010-11-24 12:26:31 UTC
  • mfrom: (1.6.1 upstream) (2.3.8 experimental)
  • Revision ID: james.westby@ubuntu.com-20101124122631-upujekj1ek94h3x2
Tags: 1.10.6-1
* New upstream release:
  + Fixed FTBFS on alpha arch (Closes: #590257)
  + Added IPv6 support (Closes: #448390)
* debian/patches/ftbfs_kfreebsd.diff:
  + Dropped, merged upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
47
47
 
48
48
namespace xmlrpc {
49
49
 
 
50
namespace {
50
51
struct SessionData {
51
52
  XmlRpcRequestParserStateMachine* stm_;
52
53
 
54
55
 
55
56
  SessionData(XmlRpcRequestParserStateMachine* stm):stm_(stm) {}
56
57
};
 
58
} // namespace
57
59
 
58
 
static void mlStartElement(void* userData, const char* name, const char** attrs)
 
60
namespace {
 
61
void mlStartElement(void* userData, const char* name, const char** attrs)
59
62
{
60
63
  SessionData* sd = reinterpret_cast<SessionData*>(userData);
61
64
 
67
70
      if(*p == 0) {
68
71
        break;
69
72
      }
70
 
      std::string value = util::trim(*p++);
 
73
      std::string value = util::strip(*p++);
71
74
      attrmap[name] = value;
72
75
    }
73
76
  }
76
79
    sd->charactersStack_.push(std::string());
77
80
  }
78
81
}
 
82
} // namespace
79
83
 
80
 
static void mlEndElement(void* userData, const char* name)
 
84
namespace {
 
85
void mlEndElement(void* userData, const char* name)
81
86
{
82
87
  SessionData* sd = reinterpret_cast<SessionData*>(userData);
83
88
  std::string characters;
84
89
  if(sd->stm_->needsCharactersBuffering()) {
85
 
    characters = util::trim(sd->charactersStack_.top());
 
90
    characters = util::strip(sd->charactersStack_.top());
86
91
    sd->charactersStack_.pop();
87
92
  }
88
93
  sd->stm_->endElement(name, characters);
89
94
}
 
95
} // namespace
90
96
 
91
 
static void mlCharacters(void* userData, const char* ch, int len)
 
97
namespace {
 
98
void mlCharacters(void* userData, const char* ch, int len)
92
99
{
93
100
  SessionData* sd = reinterpret_cast<SessionData*>(userData);
94
101
  if(sd->stm_->needsCharactersBuffering()) {
95
102
    sd->charactersStack_.top() += std::string(&ch[0], &ch[len]);
96
103
  }
97
104
}
 
105
} // namespace
98
106
 
99
107
XmlRpcRequest
100
108
XmlRpcRequestProcessor::parseMemory(const std::string& xml)