16 #include "../lib/libcitadel.h"
18 int main(int argc, char* argv[])
22 char *filename = NULL;
31 const char *GuessedMimeType;
32 const char *GuessedMimeIcon;
33 char MimeTypeStr[SIZ];
35 setvbuf(stdout, NULL, _IONBF, 0);
38 while ((a = getopt(argc, argv, "xf:i:")) != EOF)
56 if (filename == NULL) {
58 printf("Filename requried! -f\n");
63 GuessedMimeType = GuessMimeByFilename(filename, strlen(filename));
64 printf("Mimetype: %s\n", GuessedMimeType);
65 if (IconDir != NULL) {
66 strcpy(MimeTypeStr, GuessedMimeType);
67 GuessedMimeIcon = GetIconFilename(MimeTypeStr, strlen(MimeTypeStr));
68 if (GuessedMimeIcon != NULL)
69 printf("Associated Icon [%s]\n", GuessedMimeIcon);
71 printf("no icon associated.\n");
77 fd = open(filename, 0);
79 printf("Error opening file [%s] %d [%s]\n", filename, errno, strerror(errno));
83 if (fstat(fd, &statbuf) == -1) {
84 printf("Error stating file [%s] %d [%s]\n", filename, errno, strerror(errno));
88 MimeBuf = NewStrBufPlain(NULL, statbuf.st_size + 1);
89 if (StrBufReadBLOB(MimeBuf, &fd, 1, statbuf.st_size, &Err) < 0) {
90 printf("Error reading file [%s] %d [%s] [%s]\n", filename, errno, strerror(errno), Err);
95 MimeLen = StrLength(MimeBuf);
96 MimeStr = SmashStrBuf(&MimeBuf);
97 GuessedMimeType = GuessMimeType(MimeStr, MimeLen);
99 printf("Mimetype: %s\n", GuessedMimeType);
100 if (IconDir != NULL) {
101 strcpy(MimeTypeStr, GuessedMimeType);
102 GuessedMimeIcon = GetIconFilename(MimeTypeStr, strlen(MimeTypeStr));
103 if (GuessedMimeIcon != NULL)
104 printf("Associated Icon [%s]\n", GuessedMimeIcon);
106 printf("no icon associated.\n");
111 ShutDownLibCitadel();