📄 spent.cxx
字号:
// Copyright (c) 1995 James Clark// See the file COPYING for copying permission.#include "config.h"#include "EntityApp.h"#include "InputSource.h"#include "OutputCharStream.h"#ifdef SP_NAMESPACEusing namespace SP_NAMESPACE;#endifclass SpentApp : public EntityApp {public: SpentApp(); void processOption(AppChar opt, const AppChar *arg); int processSysid(const StringC &);private: Boolean isNdata_; Boolean rawOutput_;};SP_DEFINE_APP(SpentApp)SpentApp::SpentApp(): rawOutput_(0), isNdata_(0){ registerOption('n'); registerOption('r');}void SpentApp::processOption(AppChar opt, const AppChar *arg){ switch (opt) { case 'n': isNdata_ = 1; if (!outputCodingSystem_) outputCodingSystem_ = codingSystemKit_->identityCodingSystem(); rawOutput_ = 1; break; case 'r': rawOutput_ = 1; break; default: EntityApp::processOption(opt, arg); break; }}int SpentApp::processSysid(const StringC &sysid){ InputSource *in = entityManager()->open(sysid, systemCharset(), InputSourceOrigin::make(), isNdata_ ? ExtendEntityManager::isNdata : 0, *this); if (!in) return 1; OutputCharStream *os = makeStdOut(); if (!rawOutput_) os = new RecordOutputCharStream(os); for (;;) { Xchar c = in->get(*this); if (c == InputSource::eE) break; in->extendToBufferEnd(); os->write(in->currentTokenStart(), in->currentTokenLength()); } delete os; return in->accessError();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -