diff options
Diffstat (limited to 'arid.cpp')
-rw-r--r-- | arid.cpp | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/arid.cpp b/arid.cpp deleted file mode 100644 index 99b4ae8..0000000 --- a/arid.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include <iostream> -#include <string.h> -#include "minimal/mapping.h" - -struct ar_hdr { - char ar_name[16]; - char ar_date[12]; - char ar_uid[6]; - char ar_gid[6]; - char ar_mode[8]; - char ar_size[10]; -#define ARFMAG "`\n" - char ar_fmag[2]; -}; - -int main(int argc, char *argv[]) { - size_t size; - _assert(argc == 2); - uint8_t *data = reinterpret_cast<uint8_t *>(map(argv[1], 0, _not(size_t), &size, false)); - data += 8; - uint8_t *end = data + size; - while (end - data >= sizeof(struct ar_hdr)) { - struct ar_hdr *head = reinterpret_cast<struct ar_hdr *>(data); - memset(head->ar_date + 1, ' ', sizeof(head->ar_date) - 1); - head->ar_date[0] = '0'; - size_t length = strtoul(head->ar_size, NULL, 10); - data += length + sizeof(struct ar_hdr); - } - return 0; -} |