fixed logging of parameter parsing.
[swftools.git] / pdf2swf / pdf2swf.cc
index c4d331d..a47b91d 100644 (file)
@@ -87,11 +87,13 @@ int args_callback_option(char*name,char*val) {
     else if (!strcmp(name, "v"))
     {
        loglevel ++;
+        setConsoleLogging(loglevel);
        return 0;
     }
     else if (!strcmp(name, "q"))
     {
        loglevel --;
+        setConsoleLogging(loglevel);
        system_quiet = 1;
        return 0;
     }
@@ -341,56 +343,6 @@ void args_callback_usage(char*name)
     printf("-L  --preloader=filename   Link preloader \"name\" to the pdf (\"%s -L\" for list)\n",name);
 }
 
-#ifdef HAVE_DIRENT_H
-static void addfontdir(char* dirname, int*numfonts)
-{
-    if(!numfonts)
-       msg("<verbose> Adding %s to search path\n", dirname);
-
-    DIR*dir = opendir(dirname);
-    if(!dir) {
-       msg("<warning> Couldn't open directory %s\n", dirname);
-       return;
-    }
-    struct dirent*ent;
-    while(1) {
-       ent = readdir (dir);
-       if (!ent) 
-           break;
-       int l;
-       char*name = ent->d_name;
-       char type = 0;
-       if(!name) continue;
-       l=strlen(name);
-       if(l<4)
-           continue;
-       if(!strncasecmp(&name[l-4], ".pfa", 4)) 
-           type=1;
-       if(!strncasecmp(&name[l-4], ".pfb", 4)) 
-           type=3;
-       if(!strncasecmp(&name[l-4], ".ttf", 4)) 
-           type=2;
-       if(type)
-       {
-           char*fontname = (char*)malloc(strlen(dirname)+strlen(name)+2);
-           strcpy(fontname, dirname);
-#ifdef WIN32
-               strcat(fontname, "\\");
-#else
-               strcat(fontname, "/");
-#endif
-           strcat(fontname, name);
-           if(!numfonts)
-               msg("<debug> Adding %s to fonts", fontname);
-           pdfswf_addfont(fontname);
-           if(numfonts)
-               (*numfonts)++;
-       }
-    }
-    closedir(dir);
-}
-#endif
-
 static char* stripfilename(char*filename, char*newext)
 {
     char*last1 = strrchr(filename, '/');
@@ -417,6 +369,8 @@ int main(int argn, char *argv[])
     int numfonts = 0;
     int t;
     char t1searchpath[1024];
+    
+    initLog(0,-1,0,0,-1,loglevel);
 
 #if defined(WIN32) && defined(HAVE_STAT) && defined(HAVE_SYS_STAT_H)
     FILE*test = fopen(FONTDIR "\\d050000l.afm", "rb");
@@ -436,7 +390,6 @@ int main(int argn, char *argv[])
 #endif
 #endif
     processargs(argn, argv);
-    initLog(0,-1,0,0,-1,loglevel);
 
     if(!filename)
     {
@@ -466,20 +419,11 @@ int main(int argn, char *argv[])
        exit(0);
     }
 
-#ifdef HAVE_DIRENT_H
-    // pass 1
-    addfontdir(FONTDIR, &numfonts);
+    /* add fonts */
+    pdfswf_addfontdir(FONTDIR);
     for(t=0;t<fontpathpos;t++) {
-       addfontdir(fontpaths[t], &numfonts);
+       pdfswf_addfontdir(fontpaths[t]);
     }
-    // pass 2
-    addfontdir(FONTDIR, 0);
-    for(t=0;t<fontpathpos;t++) {
-       addfontdir(fontpaths[t], 0);
-    }
-#else
-    msg("<error> Couldn't find any fonts!");
-#endif
 
     pdf_doc_t* pdf = pdf_init(filename, password);
     if(!pdf) {