File: wvSimpleCLX.c

package info (click to toggle)
abiword 0.7.7-1
  • links: PTS
  • area: main
  • in suites: potato
  • size: 20,604 kB
  • ctags: 18,358
  • sloc: cpp: 88,791; ansic: 66,296; sh: 7,777; makefile: 3,397; xml: 687; perl: 361; awk: 273; sed: 36; csh: 28
file content (49 lines) | stat: -rw-r--r-- 1,020 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
#include <stdlib.h>
#include <stdio.h>
#include "wv.h"

/*
This is a simple example that take a word file and returns if
0 if the file is simple &
1 if the file is complex &
2 if the file wasn't parsable by the ole code.

Caolan.McNamara@ul.ie
*/

int main(int argc,char **argv)
	{
	int ret;
	FIB fib;
	FILE *input,*mainfd,*tablefd0,*tablefd1,*data,*summary;

	if (argc < 2)
		{
		fprintf(stderr,"Usage: wvSimpleCLX worddocument\n");
		return(1);
		}

	input = fopen(argv[1],"rb");
	ret = wvOLEDecode(input,&mainfd,&tablefd0,&tablefd1,&data,&summary);
	if (ret)
		{
		wvError(("sorry problem with getting ole streams from %s\n",argv[1]));
		return(2);
		}

	if (mainfd == NULL)
		{
		wvError(("No WordDocument stream found, this is not a word document\n"));
		wvError(("use wvSummary to try and determine the type of file\n"));
		return(2);
		}

	wvGetFIB(&fib,mainfd);

	if (fib.fComplex)
		printf("%s is a complex word doc\n",argv[1]);
	else
		printf("%s is a simple word doc\n",argv[1]);
		
	return(fib.fComplex);
	}