Skip to content

Commit

Permalink
Refactor main.c
Browse files Browse the repository at this point in the history
  • Loading branch information
nickolasburr committed Jul 22, 2018
1 parent cbbbf99 commit e0bae9f
Showing 1 changed file with 13 additions and 14 deletions.
27 changes: 13 additions & 14 deletions src/main.c
Expand Up @@ -12,7 +12,7 @@
#include "main.h"

int main (int argc, char **argv) {
int index, zindex;
int sets, index, zindex;
int count, start, end, opt_value, long_opt_index;
size_t len;
ssize_t read;
Expand Down Expand Up @@ -61,10 +61,10 @@ int main (int argc, char **argv) {
exit(EXIT_FAILURE);
}

sets = 0;
start = 0;
end = 0;

int track = 0;
ranges = ALLOC(sizeof(ranges));

for (index = 1; index < argc; index += 1) {
Expand All @@ -81,18 +81,18 @@ int main (int argc, char **argv) {
for (range = strtok_r(argv[index], ":", &ptr); !is_null(range); range = strtok_r(NULL, ":", &ptr)) {
zindex = 0;

fprintf(stdout, "1.) range: %s\n", range);

rng = ALLOC(sizeof(rng));

/**
* Default start,end values.
*/
rng->start = 0;
rng->end = 0;

/**
* Split the range into tokens.
*/
while ((token = strsep(&range, ","))) {
fprintf(stdout, "2.) token: %s\n", token);

if (!is_numeric(token)) {
fprintf(stderr, "%s: '%s' is not a valid range.\n\n", PROGNAME, argv[index]);

Expand All @@ -118,7 +118,7 @@ int main (int argc, char **argv) {
}

RESIZE(ranges, sizeof(rng));
ranges[track++] = rng;
ranges[sets++] = rng;
}

break;
Expand All @@ -145,22 +145,21 @@ int main (int argc, char **argv) {
}

count = 1;
int t;

while ((read = getline(&line, &len, stream)) != -1) {
for (t = 0; t < track; t++) {
// fprintf(stdout, "track: %d\n", track);
// fprintf(stdout, "ranges[t]->start: %d\n", ranges[t]->start);
// fprintf(stdout, "ranges[t]->end: %d\n", ranges[t]->end);

if (count >= ranges[t]->start && (count <= ranges[t]->end || !ranges[t]->end)) {
for (index = 0; index < sets; index++) {
if (count >= ranges[index]->start && (count <= ranges[index]->end || !ranges[index]->end)) {
fwrite(line, read, 1, stdout);
}
}

count++;
}

/**
* @todo: Properly free ranges pointer array.
*/

FREE(range);

return EXIT_SUCCESS;
Expand Down

0 comments on commit e0bae9f

Please sign in to comment.