#include <stdio.h>
#include <ctype.h>
#define LINE_LENGTH 42
char* find_seperator(char line[]) {
for (int i = 0; i < LINE_LENGTH; i++) {
if (line[i] == ' ') {
return &line[i];
}
}
}
void encode_mask(char line[LINE_LENGTH], char *mask) {
for (int i = 0; line[i] != '\0'; i++) {
if (*mask++ == '1') {
}
}
}
int main(int argc, char *args[]) {
if (argc < 2) {
fprintf(stderr
, "File path not provided. Exiting...\n"); return 1;
}
if (argc > 2) {
puts("Excessive arguments, only the first will be considered."); }
FILE
*file
= fopen(args
[1], "r"); if (file == NULL) {
return 1;
}
char line[LINE_LENGTH];
while (fgets(line
, LINE_LENGTH
, file
)) { char *mask = find_seperator(line);
*mask++ = '\0';
encode_mask(line, mask);
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxjdHlwZS5oPgoKI2RlZmluZSBMSU5FX0xFTkdUSCA0MgoKY2hhciogZmluZF9zZXBlcmF0b3IoY2hhciBsaW5lW10pIHsKCWZvciAoaW50IGkgPSAwOyBpIDwgTElORV9MRU5HVEg7IGkrKykgewoJCWlmIChsaW5lW2ldID09ICcgJykgewoJCQlyZXR1cm4gJmxpbmVbaV07CgkJfQoJfQp9Cgp2b2lkIGVuY29kZV9tYXNrKGNoYXIgbGluZVtMSU5FX0xFTkdUSF0sIGNoYXIgKm1hc2spIHsKCWZvciAoaW50IGkgPSAwOyBsaW5lW2ldICE9ICdcMCc7IGkrKykgewoJCWlmICgqbWFzaysrID09ICcxJykgewoJCQlsaW5lW2ldID0gdG91cHBlcihsaW5lW2ldKTsKCQl9Cgl9Cn0KCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmdzW10pIHsKCWlmIChhcmdjIDwgMikgewoJCWZwcmludGYoc3RkZXJyLCAiRmlsZSBwYXRoIG5vdCBwcm92aWRlZC4gRXhpdGluZy4uLlxuIik7CgkJcmV0dXJuIDE7Cgl9CgoJaWYgKGFyZ2MgPiAyKSB7CgkJcHV0cygiRXhjZXNzaXZlIGFyZ3VtZW50cywgb25seSB0aGUgZmlyc3Qgd2lsbCBiZSBjb25zaWRlcmVkLiIpOwoJfQoKCUZJTEUgKmZpbGUgPSBmb3BlbihhcmdzWzFdLCAiciIpOwogICAgaWYgKGZpbGUgPT0gTlVMTCkgewogICAgICAgIHBlcnJvcigiRXJyb3IiKTsKICAgICAgICByZXR1cm4gMTsKICAgIH0KCgljaGFyIGxpbmVbTElORV9MRU5HVEhdOwoJd2hpbGUgKGZnZXRzKGxpbmUsIExJTkVfTEVOR1RILCBmaWxlKSkgewoJCWNoYXIgKm1hc2sgPSBmaW5kX3NlcGVyYXRvcihsaW5lKTsKCQkqbWFzaysrID0gJ1wwJzsKCQllbmNvZGVfbWFzayhsaW5lLCBtYXNrKTsKCQlwdXRzKGxpbmUpOwoJfQoKCWZjbG9zZShmaWxlKTsKfQ==