aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* add invaliditydate class for crl entry extensionsPaul Kehrer2015-12-267-7/+87
|
* Merge pull request #2579 from reaperhulk/crlentry-crlreasonAlex Gaynor2015-12-267-9/+80
|\ | | | | switch CRLReason to use a class
| * switch CRLReason to use a classPaul Kehrer2015-12-267-9/+80
|/
* Merge pull request #2575 from reaperhulk/crlentry-extensions-classesAlex Gaynor2015-12-267-12/+127
|\ | | | | start switching the CRL entry extensions to be full-fledged classes
| * <
/*
 *  yosys -- Yosys Open SYnthesis Suite
 *
 *  Copyright (C) 2014  Clifford Wolf <clifford@clifford.at>
 *  Copyright (C) 2014  Johann Glaser <Johann.Glaser@gmx.at>
 *
 *  Permission to use, copy, modify, and/or distribute this software for any
 *  purpose with or without fee is hereby granted, provided that the above
 *  copyright notice and this permission notice appear in all copies.
 *
 *  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 *  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 *  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 *  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 *  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 *  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 *  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 *
 */

#include "kernel/yosys.h"

USING_YOSYS_NAMESPACE
PRIVATE_NAMESPACE_BEGIN

struct WriteFileFrontend : public Frontend {
	WriteFileFrontend() : Frontend("=write_file", "write a text to a file") { }
	virtual void help()
	{
		//   |---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|
		log("\n");
		log("    write_file [options] output_file [input_file]\n");
		log("\n");
		log("Write the text fron the input file to the output file.\n");
		log("\n");
		log("    -a\n");
		log("        Append to output file (instead of overwriting)\n");
		log("\n");
		log("\n");
		log("Inside a script the input file can also can a here-document:\n");
		log("\n");
		log("    write_file hello.txt <<EOT\n");
		log("    Hello World!\n");
		log("    EOT\n");
		log("\n");
	}
	virtual void execute(std::istream *&f, std::string filename, std::vector<std::string> args, RTLIL::Design*)
	{
		bool append_mode = false;
		std::string output_filename;

		size_t argidx;
		for (argidx = 1; argidx < args.size(); argidx++)
		{
			if (args[argidx] == "-a") {
				append_mode = true;
				continue;
			}
			break;
		}

		if (argidx < args.size() && args[argidx].rfind("-", 0) != 0)
			output_filename = args[argidx++];
		else
			log_cmd_error("Missing putput filename.\n");

		extra_args(f, filename, args, argidx);

		FILE *of = fopen(output_filename.c_str(), append_mode ? "a" : "w");
		char buffer[64 * 1024];
		int bytes;

		while (0 < (bytes = readsome(*f, buffer, sizeof(buffer))))
			fwrite(buffer, bytes, 1, of);

		fclose(of);
	}
} WriteFileFrontend;

PRIVATE_NAMESPACE_END
raph'>|\ \ | |/ |/|
Spell serialization consistently
| * Spell serialization consistentlyAlex Gaynor2015-12-241-1/+1
| |
* | Merge pull request #2559 from reaperhulk/crlbuilderAlex Gaynor2015-12-247-6/+446
|\ \ | |/ |/| CertificateRevocationListBuilder
| * fix rebase mistake in the docsPaul Kehrer2015-12-241-21/+1
| |
| * update docs with review feedbackPaul Kehrer2015-12-241-12/+12
| |
| * CertificateRevocationListBuilderPaul Kehrer2015-12-247-4/+464
|/ | | | | RSA keys only. Currently does not support CRL extensions or CRLEntry extensions.
* Merge pull request #2565 from reaperhulk/crl-interfaceAlex Gaynor2015-12-246-0/+52
|\ | | | | add create_x509_crl interface
| * coveragePaul Kehrer2015-12-242-1/+6
| |
| * better languagePaul Kehrer2015-12-241-2/+2
| |
| * add create_x509_crl interfacePaul Kehrer2015-12-245-0/+47
| |
* | Merge pull request #2562 from evilaliv3/PEM_write_bio_DHparamsAlex Gaynor2015-12-241-0/+1
|\ \ | | | | | | Add PEM_write_bio_DHparams binding
| * | Add PEM_write_bio_DHparams bindingevilaliv32015-12-241-0/+1
| |/
* | Merge pull request #2566 from alex/better-languagePaul Kehrer2015-12-241-4/+3
|\ \ | |/ |/| Use clearer language in the backend interface docs.
| * Use clearer language in the backend interface docs.Alex Gaynor2015-12-241-4/+3
|/ | | | Refs #2565
* Merge pull request #2564 from alex/crl-index-perfPaul Kehrer2015-12-242-3/+28
|\ | | | | Make indexing a CRL O(1) instead of O(n).
| * please the great flake8 in the skyAlex Gaynor2015-12-241-3/+1
| |
| * full indexing support + testsgAlex Gaynor2015-12-242-7/+20
| |
| * tests on indexingAlex Gaynor2015-12-241-1/+12
| |
| * Make indexing a CRL O(1) instead of O(n).Alex Gaynor2015-12-241-2/+5
|/ | | | This drops support for slicing, if that's important someone say something and I can add it back
* Merge pull request #2563 from alex/crl-iter-perfPaul Kehrer2015-12-241-13/+8
|\ | | | | Simplify implementation of CRL indexing and iteration.
| * Simplify implementation of CRL indexing and iteration.Alex Gaynor2015-12-241-13/+8
|/ | | | No longer allocates a list just to iterate over it.
* Merge pull request #2561 from alex/crl-len-perfPaul Kehrer2015-12-241-10/+12
|\ | | | | Improve the performance of len(crl)
| * coverage fixAlex Gaynor2015-12-241-8/+7
| |
| * Improve the performance of len(crl)Alex Gaynor2015-12-231-3/+6
| |