diff options
author | Vojtech Kral <vojtech@kral.hk> | 2019-08-19 11:35:18 +0300 |
---|---|---|
committer | Vojtech Kral <vojtech@kral.hk> | 2019-08-19 18:04:14 +0300 |
commit | baaf66d138f3be357bbc4beb12c804c84b743c48 (patch) | |
tree | ba71e9ba4bd4a3f5c8febbdb42de379ae2c81979 /src/avrdude | |
parent | 745182988d5edc06ef3d9c0ea1a2265a04d79a88 (diff) |
avrdude: conf-generate: Fix line endings - always generate LF endings
avrdude configuration embedding tool was generating platform
specific line endings in avrdude-slic3r.conf.h
Diffstat (limited to 'src/avrdude')
-rw-r--r-- | src/avrdude/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/avrdude/conf-generate.cpp | 36 |
2 files changed, 22 insertions, 16 deletions
diff --git a/src/avrdude/CMakeLists.txt b/src/avrdude/CMakeLists.txt index a1930ad5f..f2204db0c 100644 --- a/src/avrdude/CMakeLists.txt +++ b/src/avrdude/CMakeLists.txt @@ -86,7 +86,7 @@ add_executable(avrdude-conf-gen conf-generate.cpp) add_custom_command( DEPENDS avrdude-conf-gen ${CMAKE_CURRENT_SOURCE_DIR}/avrdude-slic3r.conf OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/avrdude-slic3r.conf.h - COMMAND $<TARGET_FILE:avrdude-conf-gen> avrdude-slic3r.conf avrdude_slic3r_conf > avrdude-slic3r.conf.h + COMMAND $<TARGET_FILE:avrdude-conf-gen> avrdude-slic3r.conf avrdude_slic3r_conf avrdude-slic3r.conf.h WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) diff --git a/src/avrdude/conf-generate.cpp b/src/avrdude/conf-generate.cpp index 4aa80ae0a..1e05db5ce 100644 --- a/src/avrdude/conf-generate.cpp +++ b/src/avrdude/conf-generate.cpp @@ -6,36 +6,42 @@ int main(int argc, char const *argv[]) { - if (argc != 3) { - std::cerr << "Usage: " << argv[0] << " <file> <symbol name>" << std::endl; + if (argc != 4) { + std::cerr << "Usage: " << argv[0] << " <file> <symbol name> <output file>" << std::endl; return -1; } - const char* filename = argv[1]; + const char* filename_in = argv[1]; const char* symbol = argv[2]; + const char* filename_out = argv[3]; size_t size = 0; - std::fstream file(filename); + std::fstream file(filename_in, std::ios::in | std::ios::binary); if (!file.good()) { - std::cerr << "Cannot read file: " << filename << std::endl; + std::cerr << "Cannot read file: " << filename_in << std::endl; } - std::cout << "/* WARN: This file is auto-generated from `" << filename << "` */" << std::endl; - std::cout << "const unsigned char " << symbol << "[] = {"; + std::fstream output(filename_out, std::ios::out | std::ios::trunc | std::ios::binary); + if (!output.good()) { + std::cerr << "Cannot open output file: " << filename_out << std::endl; + } + + output << "/* WARN: This file is auto-generated from `" << filename_in << "` */" << std::endl; + output << "const unsigned char " << symbol << "[] = {"; char c; - std::cout << std::hex; - std::cout.fill('0'); + output << std::hex; + output.fill('0'); for (file.get(c); !file.eof(); size++, file.get(c)) { - if (size % 12 == 0) { std::cout << "\n "; } - std::cout << "0x" << std::setw(2) << (unsigned)c << ", "; + if (size % 12 == 0) { output << "\n "; } + output << "0x" << std::setw(2) << (unsigned)c << ", "; } - std::cout << "\n 0, 0\n};\n"; + output << "\n 0, 0\n};\n"; - std::cout << std::dec; - std::cout << "const size_t " << symbol << "_size = " << size << ";" << std::endl; - std::cout << "const size_t " << symbol << "_size_yy = " << size + 2 << ";" << std::endl; + output << std::dec; + output << "const size_t " << symbol << "_size = " << size << ";" << std::endl; + output << "const size_t " << symbol << "_size_yy = " << size + 2 << ";" << std::endl; return 0; } |