Add:Core:Further improved logging
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Sat, 24 May 2008 11:19:08 +0000 (11:19 +0000)
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Sat, 24 May 2008 11:19:08 +0000 (11:19 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@1076 ffa7fe5e-494d-0410-b361-a75ebd5db220

navit/navit/file.h
navit/navit/log.c

index 475777b..25280de 100644 (file)
@@ -21,6 +21,8 @@ struct file;
 struct file_wordexp;
 struct param_list;
 struct file *file_create(char *name);
+int file_is_dir(char *name);
+int file_mkdir(char *name, int pflag);
 int file_mmap(struct file *file);
 unsigned char *file_data_read(struct file *file, long long offset, int size);
 unsigned char *file_data_read_compressed(struct file *file, long long offset, int size, int size_uncomp);
index f1a75c7..0101d11 100644 (file)
@@ -181,12 +181,23 @@ log_new(struct attr **attrs)
 {
        struct log *ret=g_new0(struct log, 1);
        struct attr *data,*overwrite,*lazy,*mkdir,*flush_size,*flush_time;
+       struct file_wordexp *wexp;
+       char *filename, **wexp_data;
 
        dbg(1,"enter\n");
        data=attr_search(attrs, NULL, attr_data);
        if (! data)
                return NULL;
-       ret->filename=g_strdup(data->u.str);
+       filename=data->u.str;
+       wexp=file_wordexp_new(filename);
+       if (wexp && file_wordexp_get_count(wexp) > 0) {
+               wexp_data=file_wordexp_get_array(wexp);
+               filename=wexp_data[0];
+       }
+       if (filename)
+               ret->filename=g_strdup(filename);
+       if (wexp)
+               file_wordexp_destroy(wexp);
        overwrite=attr_search(attrs, NULL, attr_overwrite);
        if (overwrite)
                ret->overwrite=overwrite->u.num;