Fix compilation error on platforms where PATH_MAX is not defined
This commit is contained in:
@@ -255,11 +255,18 @@ static void bli_builddir(struct BuildDirCtx *dir_ctx, const char *dirname)
|
||||
struct dirlink * dlink = (struct dirlink *) dirbase.first;
|
||||
struct direntry *file = &dir_ctx->files[dir_ctx->nrfiles];
|
||||
while (dlink) {
|
||||
char fullname[PATH_MAX];
|
||||
#ifdef PATH_MAX
|
||||
char static_fullname[PATH_MAX];
|
||||
char *fullname = static_fullname;
|
||||
size_t fullname_size = PATH_MAX;
|
||||
#else
|
||||
size_t fullname_size = strlen(dirname) + strlen(dlink->name) + 2;
|
||||
char *fullname = MEM_mallocN(fullname_size, "bli_builddir fullname");
|
||||
#endif
|
||||
memset(file, 0, sizeof(struct direntry));
|
||||
file->relname = dlink->name;
|
||||
file->path = BLI_strdupcat(dirname, dlink->name);
|
||||
BLI_join_dirfile(fullname, sizeof(fullname), dirname, dlink->name);
|
||||
BLI_join_dirfile(fullname, fullname_size, dirname, dlink->name);
|
||||
// use 64 bit file size, only needed for WIN32 and WIN64.
|
||||
// Excluding other than current MSVC compiler until able to test
|
||||
#ifdef WIN32
|
||||
@@ -281,6 +288,9 @@ static void bli_builddir(struct BuildDirCtx *dir_ctx, const char *dirname)
|
||||
dir_ctx->nrfiles++;
|
||||
file++;
|
||||
dlink = dlink->next;
|
||||
#ifndef MAXPATHLEN
|
||||
MEM_freeN(fullname);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
Reference in New Issue
Block a user