File: parseSchedule.c

package info (click to toggle)
ucbmpeg 1r2-6
  • links: PTS
  • area: non-free
  • in suites: hamm, potato, slink
  • size: 9,504 kB
  • ctags: 7,643
  • sloc: ansic: 79,920; tcl: 2,985; perl: 313; asm: 284; makefile: 269; csh: 13
file content (64 lines) | stat: -rw-r--r-- 1,594 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*

SCHEDULE:  MACHINE 0 FRAMES 0-2 TIME 750230115-750230122
SCHEDULE:  MACHINE 1 FRAMES 3-5 TIME 750230115-750230124
SCHEDULE:  MACHINE 1 FRAME 18-27 TIME 750230124-750230147
SCHEDULE:  MACHINE 1 FRAME 28-29 TIME 750230147-750230147
SCHEDULE:  MACHINE 0 FRAME 6-17 TIME 750230122-750230148

*/

#include <stdio.h>

int main(int argc, char **argv)
{
    register int index;
    char input[256];
    long    IOtimes[256];
    int machineNum;
    int frameStart, frameEnd;
    long timeStart, timeEnd;
    long    minTime = 0x7fffffff;
    FILE    *filePtr;
    long    IOtime;

    for ( index = 0; index < 256; index++ )
	IOtimes[index] = 0;

    filePtr = fopen(argv[1], "r");

    while ( fgets(input, 256, filePtr) != NULL )
    {
	sscanf(input, "SCHEDULE:  MACHINE %d FRAMES %d-%d TIME %ld-%ld IOTIME %ld",
	       &machineNum, &frameStart, &frameEnd, &timeStart, &timeEnd,
	       &IOtime);

	if ( timeStart < minTime )
	    minTime = timeStart;
    }

    fclose(filePtr);

    filePtr = fopen(argv[1], "r");

    while ( fgets(input, 256, filePtr) != NULL )
    {
	sscanf(input, "SCHEDULE:  MACHINE %d FRAMES %d-%d TIME %ld-%ld IOTIME %ld",
	       &machineNum, &frameStart, &frameEnd, &timeStart, &timeEnd,
	       &IOtime);

	fprintf(stdout, "SCHEDULE:  MACHINE %2d FRAMES %2d-%2d TIME %3d-%3d IOTIME %2d F/T/I %2d/%2d/%2d\n",
		machineNum, frameStart, frameEnd,
		timeStart-minTime, timeEnd-minTime,
		IOtime-IOtimes[machineNum],
		frameEnd-frameStart+1,
		timeEnd-timeStart,
		IOtime-IOtimes[machineNum]);

	IOtimes[machineNum] = IOtime;
    }

    fclose(filePtr);

    return 0;
}