You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
700 B
24 lines
700 B
#!/usr/bin/env python3 |
|
# |
|
# Copyright (c) 2022 Golioth, Inc. |
|
# |
|
# SPDX-License-Identifier: Apache-2.0 |
|
|
|
from argparse import ArgumentParser |
|
from math import ceil |
|
|
|
CHUNK = "This is a fragment of generated C string. " |
|
|
|
|
|
parser = ArgumentParser(description="Generate C string of arbitrary size", allow_abbrev=False) |
|
parser.add_argument("-s", "--size", help="Size of string (without NULL termination)", |
|
required=True, type=int) |
|
parser.add_argument("filepath", help="Output filepath") |
|
args = parser.parse_args() |
|
|
|
|
|
with open(args.filepath, "w", encoding="UTF-8") as fp: |
|
fp.write('"') |
|
chunks = CHUNK * ceil(args.size / len(CHUNK)) |
|
fp.write(chunks[:args.size]) |
|
fp.write('"')
|
|
|