File: filefullpath.c

package info (click to toggle)
yodl 4.05.02-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,724 kB
  • sloc: ansic: 7,803; perl: 683; cpp: 570; sh: 411; xml: 190; makefile: 163
file content (19 lines) | stat: -rw-r--r-- 610 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "file.ih"

char *file_fullpath(HashMap *symtab, char const *filename)
{
    String fname;
    char const *includePath;

    if (message_show(MSG_NOTICE))
        message("Looking for file `%s'", filename);
    string_construct(&fname, filename);
    includePath = file_includePath(symtab);

    return
        *filename == '/' || !includePath ?          /* absolute path, or no */
            f_as_is(filename, &fname)               /* include path         */
        :
            f_search_path(filename, &fname,         /* or search the path   */
                                    includePath);
}