File: test-libmagic.c

package info (click to toggle)
libfile-libmagic-perl 1.02-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 524 kB
  • ctags: 849
  • sloc: perl: 1,616; pascal: 88; ansic: 54; makefile: 13
file content (48 lines) | stat: -rw-r--r-- 923 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
#include <magic.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int Exit(char * c, int i, magic_t m);

int main(void) {

	char * TestPattern="Hello World\n";
	magic_t m;
	int ret_i;
	char * c;

	m    =magic_open(MAGIC_NONE); if (m==NULL)   { Exit("Err",1,m); }
	ret_i=magic_load(m,"magic");     if (ret_i==-1) { Exit("Error Load",1,m); }
	/* ret_i=magic_load(m,"/NotExistentFile"); */
				      if (ret_i==-1) { Exit("Error Load NotExistentFile",1,m); }

	c = (char *) magic_buffer(m, TestPattern, strlen(TestPattern));
	if (c==NULL) { 
		Exit("E",2,m); 
	} else {
		printf("%s\n",c);
	}

	/* c = (char *) magic_file(m, "/etc/passwd"); */
	c = (char *) magic_file(m, "/NotExistent"); 
	if (c==NULL) { 
		Exit("F",3,m); 
	} else {
		printf("%s\n",c);
	}

	magic_close(m);

	exit(0);
}

int Exit(char * c, int i, magic_t m) {
	
	
	printf("%s\n",c);
	if (i==1) { printf("%s\n", magic_error(m)); }

	exit(i);
}