Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-05-12 19:13:06 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-05-12 19:13:06 +0400
commitbddc7dfc20919105e02181340d54b2faf52c95ac (patch)
tree1000cce34ce4cd97c87862fcd576d32f0711a0fa /source/blender/blenlib/intern/path_util.c
parent2f2b15bbb2a30ee312d65c627d54a12445f4b987 (diff)
style cleanup: remaining BLI files.
Diffstat (limited to 'source/blender/blenlib/intern/path_util.c')
-rw-r--r--source/blender/blenlib/intern/path_util.c462
1 files changed, 230 insertions, 232 deletions
diff --git a/source/blender/blenlib/intern/path_util.c b/source/blender/blenlib/intern/path_util.c
index a18c297fdae..59147040fd8 100644
--- a/source/blender/blenlib/intern/path_util.c
+++ b/source/blender/blenlib/intern/path_util.c
@@ -48,7 +48,7 @@
#include "BLI_utildefines.h"
#include "BKE_utildefines.h"
-#include "BKE_blender.h" // BLENDER_VERSION
+#include "BKE_blender.h" // BLENDER_VERSION
#include "GHOST_Path-api.h"
@@ -79,26 +79,26 @@
/* standard paths */
#ifdef WIN32
-# define BLENDER_USER_FORMAT "%s\\Blender Foundation\\Blender\\%s"
-# define BLENDER_SYSTEM_FORMAT "%s\\Blender Foundation\\Blender\\%s"
+# define BLENDER_USER_FORMAT "%s\\Blender Foundation\\Blender\\%s"
+# define BLENDER_SYSTEM_FORMAT "%s\\Blender Foundation\\Blender\\%s"
#elif defined(__APPLE__)
-# define BLENDER_USER_FORMAT "%s/Blender/%s"
-# define BLENDER_SYSTEM_FORMAT "%s/Blender/%s"
+# define BLENDER_USER_FORMAT "%s/Blender/%s"
+# define BLENDER_SYSTEM_FORMAT "%s/Blender/%s"
#else /* UNIX */
# ifndef WITH_XDG_USER_DIRS /* oldschool unix ~/.blender/ */
-# define BLENDER_USER_FORMAT "%s/.blender/%s"
+# define BLENDER_USER_FORMAT "%s/.blender/%s"
# else /* new XDG ~/blender/.config/ */
-# define BLENDER_USER_FORMAT "%s/blender/%s"
+# define BLENDER_USER_FORMAT "%s/blender/%s"
# endif // WITH_XDG_USER_DIRS
-# define BLENDER_SYSTEM_FORMAT "%s/blender/%s"
+# define BLENDER_SYSTEM_FORMAT "%s/blender/%s"
#endif
/* local */
#define UNIQUE_NAME_MAX 128
-static char bprogname[FILE_MAX]; /* path to program executable */
-static char bprogdir[FILE_MAX]; /* path in which executable is located */
-static char btempdir[FILE_MAX]; /* temporary directory */
+static char bprogname[FILE_MAX]; /* path to program executable */
+static char bprogdir[FILE_MAX]; /* path in which executable is located */
+static char btempdir[FILE_MAX]; /* temporary directory */
static int add_win32_extension(char *name);
static char *blender_version_decimal(const int ver);
@@ -112,7 +112,7 @@ int BLI_stringdec(const char *string, char *head, char *tail, unsigned short *nu
char *lslash = BLI_last_slash(string);
len2 = len = strlen(string);
if (lslash)
- lenlslash= (int)(lslash - string);
+ lenlslash = (int)(lslash - string);
while (len > lenlslash && string[--len] != '.') {};
if (len == lenlslash && string[len] != '.') len = len2;
@@ -133,12 +133,12 @@ int BLI_stringdec(const char *string, char *head, char *tail, unsigned short *nu
}
}
if (found) {
- if (tail) strcpy(tail, &string[nume+1]);
+ if (tail) strcpy(tail, &string[nume + 1]);
if (head) {
strcpy(head, string);
- head[nums]=0;
+ head[nums] = 0;
}
- if (numlen) *numlen = nume-nums+1;
+ if (numlen) *numlen = nume - nums + 1;
return ((int)atoi(&(string[nums])));
}
if (tail) strcpy(tail, string + len);
@@ -146,15 +146,15 @@ int BLI_stringdec(const char *string, char *head, char *tail, unsigned short *nu
strncpy(head, string, len);
head[len] = '\0';
}
- if (numlen) *numlen=0;
+ if (numlen) *numlen = 0;
return 0;
}
void BLI_stringenc(char *string, const char *head, const char *tail, unsigned short numlen, int pic)
{
- char fmtstr[16]="";
- if (pic < 0) pic= 0;
+ char fmtstr[16] = "";
+ if (pic < 0) pic = 0;
sprintf(fmtstr, "%%s%%.%dd%%s", numlen);
sprintf(string, fmtstr, head, pic, tail);
}
@@ -165,28 +165,28 @@ int BLI_split_name_num(char *left, int *nr, const char *name, const char delim)
{
int a;
- *nr= 0;
- a= strlen(name);
+ *nr = 0;
+ a = strlen(name);
memcpy(left, name, (a + 1) * sizeof(char));
- if (a>1 && name[a-1]==delim) return a;
+ if (a > 1 && name[a - 1] == delim) return a;
while (a--) {
- if ( name[a]==delim ) {
- left[a]= 0;
- *nr= atol(name+a+1);
+ if (name[a] == delim) {
+ left[a] = 0;
+ *nr = atol(name + a + 1);
/* casting down to an int, can overflow for large numbers */
if (*nr < 0)
- *nr= 0;
+ *nr = 0;
return a;
}
- if ( isdigit(name[a])==0 ) break;
+ if (isdigit(name[a]) == 0) break;
- left[a]= 0;
+ left[a] = 0;
}
- for (a= 0; name[a]; a++)
- left[a]= name[a];
+ for (a = 0; name[a]; a++)
+ left[a] = name[a];
return a;
}
@@ -209,7 +209,7 @@ void BLI_newname(char *name, int add)
pic += add;
- if (digits==4 && pic<0) pic= 0;
+ if (digits == 4 && pic < 0) pic = 0;
BLI_stringenc(name, head, tail, digits, pic);
}
@@ -222,13 +222,13 @@ int BLI_uniquename_cb(int (*unique_check)(void *, const char *), void *arg, cons
}
if (unique_check(arg, name)) {
- char numstr[16];
- char tempname[UNIQUE_NAME_MAX];
- char left[UNIQUE_NAME_MAX];
- int number;
- int len= BLI_split_name_num(left, &number, name, delim);
+ char numstr[16];
+ char tempname[UNIQUE_NAME_MAX];
+ char left[UNIQUE_NAME_MAX];
+ int number;
+ int len = BLI_split_name_num(left, &number, name, delim);
do {
- int numlen= BLI_snprintf(numstr, sizeof(numstr), "%c%03d", delim, ++number);
+ int numlen = BLI_snprintf(numstr, sizeof(numstr), "%c%03d", delim, ++number);
/* highly unlikely the string only has enough room for the number
* but support anyway */
@@ -238,7 +238,7 @@ int BLI_uniquename_cb(int (*unique_check)(void *, const char *), void *arg, cons
}
else {
char *tempname_buf;
- tempname[0]= '\0';
+ tempname[0] = '\0';
tempname_buf = BLI_strncat_utf8(tempname, left, name_len - numlen);
memcpy(tempname_buf, numstr, numlen + 1);
}
@@ -254,7 +254,7 @@ int BLI_uniquename_cb(int (*unique_check)(void *, const char *), void *arg, cons
/* little helper macro for BLI_uniquename */
#ifndef GIVE_STRADDR
- #define GIVE_STRADDR(data, offset) ( ((char *)data) + offset )
+ #define GIVE_STRADDR(data, offset) ( ((char *)data) + offset)
#endif
/* Generic function to set a unique name. It is only designed to be used in situations
@@ -262,16 +262,16 @@ int BLI_uniquename_cb(int (*unique_check)(void *, const char *), void *arg, cons
*
* For places where this is used, see constraint.c for example...
*
- * name_offs: should be calculated using offsetof(structname, membername) macro from stddef.h
- * len: maximum length of string (to prevent overflows, etc.)
- * defname: the name that should be used by default if none is specified already
- * delim: the character which acts as a delimiter between parts of the name
+ * name_offs: should be calculated using offsetof(structname, membername) macro from stddef.h
+ * len: maximum length of string (to prevent overflows, etc.)
+ * defname: the name that should be used by default if none is specified already
+ * delim: the character which acts as a delimiter between parts of the name
*/
static int uniquename_find_dupe(ListBase *list, void *vlink, const char *name, short name_offs)
{
Link *link;
- for (link = list->first; link; link= link->next) {
+ for (link = list->first; link; link = link->next) {
if (link != vlink) {
if (!strcmp(GIVE_STRADDR(link, name_offs), name)) {
return 1;
@@ -284,16 +284,16 @@ static int uniquename_find_dupe(ListBase *list, void *vlink, const char *name, s
static int uniquename_unique_check(void *arg, const char *name)
{
- struct {ListBase *lb; void *vlink; short name_offs;} *data= arg;
+ struct {ListBase *lb; void *vlink; short name_offs; } *data = arg;
return uniquename_find_dupe(data->lb, data->vlink, name, data->name_offs);
}
void BLI_uniquename(ListBase *list, void *vlink, const char defname[], char delim, short name_offs, short name_len)
{
- struct {ListBase *lb; void *vlink; short name_offs;} data;
- data.lb= list;
- data.vlink= vlink;
- data.name_offs= name_offs;
+ struct {ListBase *lb; void *vlink; short name_offs; } data;
+ data.lb = list;
+ data.vlink = vlink;
+ data.name_offs = name_offs;
assert((name_len > 1) && (name_len <= UNIQUE_NAME_MAX));
@@ -324,11 +324,11 @@ void BLI_cleanup_path(const char *relabase, char *dir)
BLI_path_abs(dir, relabase);
}
else {
- if (dir[0]=='/' && dir[1]=='/') {
- if (dir[2]== '\0') {
+ if (dir[0] == '/' && dir[1] == '/') {
+ if (dir[2] == '\0') {
return; /* path is "//" - cant clean it */
}
- dir = dir+2; /* skip the first // */
+ dir = dir + 2; /* skip the first // */
}
}
@@ -344,19 +344,19 @@ void BLI_cleanup_path(const char *relabase, char *dir)
/* Note, this should really be moved to the file selector,
* since this function is used in many areas */
- if (strcmp(dir, ".")==0) { /* happens for example in FILE_MAIN */
+ if (strcmp(dir, ".") == 0) { /* happens for example in FILE_MAIN */
get_default_root(dir);
return;
}
while ( (start = strstr(dir, "\\..\\")) ) {
eind = start + strlen("\\..\\") - 1;
- a = start-dir-1;
- while (a>0) {
+ a = start - dir - 1;
+ while (a > 0) {
if (dir[a] == '\\') break;
a--;
}
- if (a<0) {
+ if (a < 0) {
break;
}
else {
@@ -369,36 +369,36 @@ void BLI_cleanup_path(const char *relabase, char *dir)
memmove(start, eind, strlen(eind) + 1);
}
- while ( (start = strstr(dir, "\\\\" )) ) {
+ while ( (start = strstr(dir, "\\\\")) ) {
eind = start + strlen("\\\\") - 1;
memmove(start, eind, strlen(eind) + 1);
}
#else
- if (dir[0]=='.') { /* happens, for example in FILE_MAIN */
- dir[0]= '/';
- dir[1]= 0;
+ if (dir[0] == '.') { /* happens, for example in FILE_MAIN */
+ dir[0] = '/';
+ dir[1] = 0;
return;
}
/* support for odd paths: eg /../home/me --> /home/me
* this is a valid path in blender but we cant handle this the usual way below
* simply strip this prefix then evaluate the path as usual. pythons os.path.normpath() does this */
- while ((strncmp(dir, "/../", 4)==0)) {
+ while ((strncmp(dir, "/../", 4) == 0)) {
memmove(dir, dir + 4, strlen(dir + 4) + 1);
}
while ( (start = strstr(dir, "/../")) ) {
eind = start + (4 - 1) /* strlen("/../") - 1 */;
- a = start-dir-1;
- while (a>0) {
+ a = start - dir - 1;
+ while (a > 0) {
if (dir[a] == '/') break;
a--;
}
- if (a<0) {
+ if (a < 0) {
break;
}
else {
- memmove(dir+a, eind, strlen(eind) + 1);
+ memmove(dir + a, eind, strlen(eind) + 1);
}
}
@@ -407,7 +407,7 @@ void BLI_cleanup_path(const char *relabase, char *dir)
memmove(start, eind, strlen(eind) + 1);
}
- while ( (start = strstr(dir, "//" )) ) {
+ while ( (start = strstr(dir, "//")) ) {
eind = start + (2 - 1) /* strlen("//") - 1 */;
memmove(start, eind, strlen(eind) + 1);
}
@@ -429,19 +429,19 @@ void BLI_cleanup_file(const char *relabase, char *dir)
void BLI_path_rel(char *file, const char *relfile)
{
- char * lslash;
+ char *lslash;
char temp[FILE_MAX];
char res[FILE_MAX];
/* if file is already relative, bail out */
- if (file[0]=='/' && file[1]=='/') return;
+ if (file[0] == '/' && file[1] == '/') return;
/* also bail out if relative path is not set */
if (relfile[0] == 0) return;
#ifdef WIN32
if (BLI_strnlen(relfile, 3) > 2 && relfile[1] != ':') {
- char* ptemp;
+ char *ptemp;
/* fix missing volume name in relative base,
* can happen with old recent-files.txt files */
get_default_root(temp);
@@ -449,14 +449,14 @@ void BLI_path_rel(char *file, const char *relfile)
if (relfile[0] != '\\' && relfile[0] != '/') {
ptemp++;
}
- BLI_strncpy(ptemp, relfile, FILE_MAX-3);
+ BLI_strncpy(ptemp, relfile, FILE_MAX - 3);
}
else {
BLI_strncpy(temp, relfile, FILE_MAX);
}
if (BLI_strnlen(file, 3) > 2) {
- if ( temp[1] == ':' && file[1] == ':' && temp[0] != file[0] )
+ if (temp[1] == ':' && file[1] == ':' && temp[0] != file[0])
return;
}
#else
@@ -476,8 +476,8 @@ void BLI_path_rel(char *file, const char *relfile)
if (lslash) {
/* find the prefix of the filename that is equal for both filenames.
* This is replaced by the two slashes at the beginning */
- char *p= temp;
- char *q= file;
+ char *p = temp;
+ char *q = file;
#ifdef WIN32
while (tolower(*p) == tolower(*q))
@@ -490,7 +490,7 @@ void BLI_path_rel(char *file, const char *relfile)
/* don't search beyond the end of the string
* in the rare case they match */
- if ((*p=='\0') || (*q=='\0')) {
+ if ((*p == '\0') || (*q == '\0')) {
break;
}
}
@@ -505,23 +505,23 @@ void BLI_path_rel(char *file, const char *relfile)
while ( (p >= temp) && (*p != '/') ) { --p; --q; }
}
- strcpy(res, "//");
+ strcpy(res, "//");
/* p now points to the slash that is at the beginning of the part
* where the path is different from the relative path.
* We count the number of directories we need to go up in the
* hierarchy to arrive at the common 'prefix' of the path
*/
- while (p && p < lslash) {
+ while (p && p < lslash) {
if (*p == '/')
- strcat(res, "../");
+ strcat(res, "../");
p++;
}
- strcat(res, q+1); /* don't copy the slash at the beginning */
+ strcat(res, q + 1); /* don't copy the slash at the beginning */
-#ifdef WIN32
- BLI_char_switch(res+2, '/', '\\');
+#ifdef WIN32
+ BLI_char_switch(res + 2, '/', '\\');
#endif
strcpy(file, res);
}
@@ -534,7 +534,7 @@ int BLI_has_parent(char *path)
BLI_clean(path);
len = BLI_add_slash(path) - 1;
- while (len>=0) {
+ while (len >= 0) {
if ((path[len] == '\\') || (path[len] == '/'))
slashes++;
len--;
@@ -544,9 +544,9 @@ int BLI_has_parent(char *path)
int BLI_parent_dir(char *path)
{
- static char parent_dir[]= {'.', '.', SEP, '\0'}; /* "../" or "..\\" */
- char tmp[FILE_MAX+4];
- BLI_strncpy(tmp, path, sizeof(tmp)-4);
+ static char parent_dir[] = {'.', '.', SEP, '\0'}; /* "../" or "..\\" */
+ char tmp[FILE_MAX + 4];
+ BLI_strncpy(tmp, path, sizeof(tmp) - 4);
BLI_add_slash(tmp);
strcat(tmp, parent_dir);
BLI_cleanup_dir(NULL, tmp);
@@ -571,42 +571,42 @@ static int stringframe_chars(char *path, int *char_start, int *char_end)
}
else if (path[i] == '#') {
ch_sta = i;
- ch_end = ch_sta+1;
+ ch_end = ch_sta + 1;
while (path[ch_end] == '#') {
ch_end++;
}
- i = ch_end-1; /* keep searching */
+ i = ch_end - 1; /* keep searching */
/* don't break, there may be a slash after this that invalidates the previous #'s */
}
}
if (ch_end) {
- *char_start= ch_sta;
- *char_end= ch_end;
+ *char_start = ch_sta;
+ *char_end = ch_end;
return 1;
}
else {
- *char_start= -1;
- *char_end= -1;
+ *char_start = -1;
+ *char_end = -1;
return 0;
}
}
static void ensure_digits(char *path, int digits)
{
- char *file= BLI_last_slash(path);
+ char *file = BLI_last_slash(path);
- if (file==NULL)
- file= path;
+ if (file == NULL)
+ file = path;
if (strrchr(file, '#') == NULL) {
- int len= strlen(file);
+ int len = strlen(file);
while (digits--) {
- file[len++]= '#';
+ file[len++] = '#';
}
- file[len]= '\0';
+ file[len] = '\0';
}
}
@@ -619,7 +619,7 @@ int BLI_path_frame(char *path, int frame, int digits)
if (stringframe_chars(path, &ch_sta, &ch_end)) { /* warning, ch_end is the last # +1 */
char tmp[FILE_MAX];
- sprintf(tmp, "%.*s%.*d%s", ch_sta, path, ch_end-ch_sta, frame, path+ch_end);
+ sprintf(tmp, "%.*s%.*d%s", ch_sta, path, ch_end - ch_sta, frame, path + ch_end);
strcpy(path, tmp);
return 1;
}
@@ -637,7 +637,7 @@ int BLI_path_frame_range(char *path, int sta, int end, int digits)
char tmp[FILE_MAX];
BLI_snprintf(tmp, sizeof(tmp),
"%.*s%.*d-%.*d%s",
- ch_sta, path, ch_end-ch_sta, sta, ch_end-ch_sta, end, path+ch_end);
+ ch_sta, path, ch_end - ch_sta, sta, ch_end - ch_sta, end, path + ch_end);
BLI_strncpy(path, tmp, FILE_MAX);
return 1;
}
@@ -646,7 +646,7 @@ int BLI_path_frame_range(char *path, int sta, int end, int digits)
int BLI_path_abs(char *path, const char *basepath)
{
- int wasrelative = (strncmp(path, "//", 2)==0);
+ int wasrelative = (strncmp(path, "//", 2) == 0);
char tmp[FILE_MAX];
char base[FILE_MAX];
#ifdef WIN32
@@ -679,7 +679,7 @@ int BLI_path_abs(char *path, const char *basepath)
* Add a / prefix and lowercase the driveletter, remove the :
* C:\foo.JPG -> /c/foo.JPG */
- if (isalpha(tmp[0]) && tmp[1] == ':' && (tmp[2]=='\\' || tmp[2]=='/') ) {
+ if (isalpha(tmp[0]) && tmp[1] == ':' && (tmp[2] == '\\' || tmp[2] == '/') ) {
tmp[1] = tolower(tmp[0]); /* replace ':' with driveletter */
tmp[0] = '/';
/* '\' the slash will be converted later */
@@ -704,18 +704,18 @@ int BLI_path_abs(char *path, const char *basepath)
/* Paths starting with // will get the blend file as their base,
* this isn't standard in any os but is used in blender all over the place */
if (wasrelative) {
- char *lslash= BLI_last_slash(base);
+ char *lslash = BLI_last_slash(base);
if (lslash) {
- int baselen= (int) (lslash-base) + 1;
+ int baselen = (int) (lslash - base) + 1;
/* use path for temp storage here, we copy back over it right away */
- BLI_strncpy(path, tmp+2, FILE_MAX);
+ BLI_strncpy(path, tmp + 2, FILE_MAX);
memcpy(tmp, base, baselen);
- BLI_strncpy(tmp+baselen, path, sizeof(tmp)-baselen);
+ BLI_strncpy(tmp + baselen, path, sizeof(tmp) - baselen);
BLI_strncpy(path, tmp, FILE_MAX);
}
else {
- BLI_strncpy(path, tmp+2, FILE_MAX);
+ BLI_strncpy(path, tmp + 2, FILE_MAX);
}
}
else {
@@ -731,7 +731,7 @@ int BLI_path_abs(char *path, const char *basepath)
* // will be retained, rest will be nice and
* shiny win32 backward slashes :) -jesterKing
*/
- BLI_char_switch(path+2, '/', '\\');
+ BLI_char_switch(path + 2, '/', '\\');
#endif
return wasrelative;
@@ -755,8 +755,8 @@ int BLI_path_cwd(char *path)
wasrelative = 0;
#endif
- if (wasrelative==1) {
- char cwd[FILE_MAX]= "";
+ if (wasrelative == 1) {
+ char cwd[FILE_MAX] = "";
BLI_current_working_dir(cwd, sizeof(cwd)); /* in case the full path to the blend isn't used */
if (cwd[0] == '\0') {
@@ -784,19 +784,19 @@ int BLI_path_cwd(char *path)
/* 'di's filename component is moved into 'fi', di is made a dir path */
void BLI_splitdirstring(char *di, char *fi)
{
- char *lslash= BLI_last_slash(di);
+ char *lslash = BLI_last_slash(di);
if (lslash) {
- BLI_strncpy(fi, lslash+1, FILE_MAXFILE);
- *(lslash+1)=0;
+ BLI_strncpy(fi, lslash + 1, FILE_MAXFILE);
+ *(lslash + 1) = 0;
}
else {
BLI_strncpy(fi, di, FILE_MAXFILE);
- di[0]= 0;
+ di[0] = 0;
}
}
-void BLI_getlastdir(const char* dir, char *last, const size_t maxlen)
+void BLI_getlastdir(const char *dir, char *last, const size_t maxlen)
{
const char *s = dir;
const char *lslash = NULL;
@@ -809,7 +809,7 @@ void BLI_getlastdir(const char* dir, char *last, const size_t maxlen)
s++;
}
if (prevslash) {
- BLI_strncpy(last, prevslash+1, maxlen);
+ BLI_strncpy(last, prevslash + 1, maxlen);
}
else {
BLI_strncpy(last, dir, maxlen);
@@ -824,35 +824,35 @@ const char *BLI_getDefaultDocumentFolder(void)
#ifndef WIN32
#ifdef WITH_XDG_USER_DIRS
- const char *xdg_documents_dir= getenv("XDG_DOCUMENTS_DIR");
- if (xdg_documents_dir) {
- return xdg_documents_dir;
- }
+ const char *xdg_documents_dir = getenv("XDG_DOCUMENTS_DIR");
+ if (xdg_documents_dir) {
+ return xdg_documents_dir;
+ }
#endif
- return getenv("HOME");
+ return getenv("HOME");
#else /* Windows */
- static char documentfolder[MAXPATHLEN];
- HRESULT hResult;
+ static char documentfolder[MAXPATHLEN];
+ HRESULT hResult;
- /* Check for %HOME% env var */
- if (uput_getenv("HOME", documentfolder, MAXPATHLEN)) {
- if (BLI_is_dir(documentfolder)) return documentfolder;
- }
+ /* Check for %HOME% env var */
+ if (uput_getenv("HOME", documentfolder, MAXPATHLEN)) {
+ if (BLI_is_dir(documentfolder)) return documentfolder;
+ }
- /* add user profile support for WIN 2K / NT.
- * This is %APPDATA%, which translates to either
- * %USERPROFILE%\Application Data or since Vista
- * to %USERPROFILE%\AppData\Roaming
- */
- hResult = SHGetFolderPath(NULL, CSIDL_PERSONAL, NULL, SHGFP_TYPE_CURRENT, documentfolder);
+ /* add user profile support for WIN 2K / NT.
+ * This is %APPDATA%, which translates to either
+ * %USERPROFILE%\Application Data or since Vista
+ * to %USERPROFILE%\AppData\Roaming
+ */
+ hResult = SHGetFolderPath(NULL, CSIDL_PERSONAL, NULL, SHGFP_TYPE_CURRENT, documentfolder);
- if (hResult == S_OK) {
- if (BLI_is_dir(documentfolder)) return documentfolder;
- }
+ if (hResult == S_OK) {
+ if (BLI_is_dir(documentfolder)) return documentfolder;
+ }
- return NULL;
+ return NULL;
#endif /* WIN32 */
}
@@ -865,7 +865,7 @@ const char *BLI_getDefaultDocumentFolder(void)
static char *blender_version_decimal(const int ver)
{
static char version_str[5];
- sprintf(version_str, "%d.%02d", ver/100, ver%100);
+ sprintf(version_str, "%d.%02d", ver / 100, ver % 100);
return version_str;
}
@@ -873,8 +873,8 @@ static int test_path(char *targetpath, const char *path_base, const char *path_s
{
char tmppath[FILE_MAX];
- if (path_sep) BLI_join_dirfile(tmppath, sizeof(tmppath), path_base, path_sep);
- else BLI_strncpy(tmppath, path_base, sizeof(tmppath));
+ if (path_sep) BLI_join_dirfile(tmppath, sizeof(tmppath), path_base, path_sep);
+ else BLI_strncpy(tmppath, path_base, sizeof(tmppath));
/* rare cases folder_name is omitted (when looking for ~/.blender/2.xx dir only) */
if (folder_name)
@@ -899,7 +899,7 @@ static int test_path(char *targetpath, const char *path_base, const char *path_s
static int test_env_path(char *path, const char *envvar)
{
- const char *env = envvar?getenv(envvar):NULL;
+ const char *env = envvar ? getenv(envvar) : NULL;
if (!env) return 0;
if (BLI_is_dir(env)) {
@@ -929,7 +929,7 @@ static int get_path_local(char *targetpath, const char *folder_name, const char
}
}
else {
- relfolder[0]= '\0';
+ relfolder[0] = '\0';
}
/* try EXECUTABLE_DIR/2.5x/folder_name - new default directory for local blender installed files */
@@ -942,7 +942,7 @@ static int get_path_local(char *targetpath, const char *folder_name, const char
static int is_portable_install(void)
{
/* detect portable install by the existance of config folder */
- const int ver= BLENDER_VERSION;
+ const int ver = BLENDER_VERSION;
char path[FILE_MAX];
return get_path_local(path, "config", NULL, ver);
@@ -1011,7 +1011,7 @@ static int get_path_system(char *targetpath, const char *folder_name, const char
}
}
else {
- relfolder[0]= '\0';
+ relfolder[0] = '\0';
}
/* try CWD/release/folder_name */
@@ -1066,27 +1066,27 @@ static int get_path_system(char *targetpath, const char *folder_name, const char
/* returns the path if found, NULL string if not */
char *BLI_get_folder(int folder_id, const char *subfolder)
{
- const int ver= BLENDER_VERSION;
+ const int ver = BLENDER_VERSION;
static char path[FILE_MAX] = "";
switch (folder_id) {
- case BLENDER_DATAFILES: /* general case */
- if (get_path_user(path, "datafiles", subfolder, "BLENDER_USER_DATAFILES", ver)) break;
+ case BLENDER_DATAFILES: /* general case */
+ if (get_path_user(path, "datafiles", subfolder, "BLENDER_USER_DATAFILES", ver)) break;
if (get_path_local(path, "datafiles", subfolder, ver)) break;
if (get_path_system(path, "datafiles", subfolder, "BLENDER_SYSTEM_DATAFILES", ver)) break;
return NULL;
case BLENDER_USER_DATAFILES:
- if (get_path_user(path, "datafiles", subfolder, "BLENDER_USER_DATAFILES", ver)) break;
+ if (get_path_user(path, "datafiles", subfolder, "BLENDER_USER_DATAFILES", ver)) break;
return NULL;
case BLENDER_SYSTEM_DATAFILES:
if (get_path_local(path, "datafiles", subfolder, ver)) break;
- if (get_path_system(path, "datafiles", subfolder, "BLENDER_SYSTEM_DATAFILES", ver)) break;
+ if (get_path_system(path, "datafiles", subfolder, "BLENDER_SYSTEM_DATAFILES", ver)) break;
return NULL;
case BLENDER_USER_AUTOSAVE:
- if (get_path_user(path, "autosave", subfolder, "BLENDER_USER_DATAFILES", ver)) break;
+ if (get_path_user(path, "autosave", subfolder, "BLENDER_USER_DATAFILES", ver)) break;
return NULL;
case BLENDER_USER_CONFIG:
@@ -1113,7 +1113,7 @@ char *BLI_get_folder(int folder_id, const char *subfolder)
char *BLI_get_user_folder_notest(int folder_id, const char *subfolder)
{
- const int ver= BLENDER_VERSION;
+ const int ver = BLENDER_VERSION;
static char path[FILE_MAX] = "";
switch (folder_id) {
@@ -1159,19 +1159,19 @@ char *BLI_get_folder_version(const int id, const int ver, const int do_check)
static char path[FILE_MAX] = "";
int ok;
switch (id) {
- case BLENDER_RESOURCE_PATH_USER:
- ok= get_path_user(path, NULL, NULL, NULL, ver);
- break;
- case BLENDER_RESOURCE_PATH_LOCAL:
- ok= get_path_local(path, NULL, NULL, ver);
- break;
- case BLENDER_RESOURCE_PATH_SYSTEM:
- ok= get_path_system(path, NULL, NULL, NULL, ver);
- break;
- default:
- path[0]= '\0'; /* in case do_check is false */
- ok= FALSE;
- BLI_assert(!"incorrect ID");
+ case BLENDER_RESOURCE_PATH_USER:
+ ok = get_path_user(path, NULL, NULL, NULL, ver);
+ break;
+ case BLENDER_RESOURCE_PATH_LOCAL:
+ ok = get_path_local(path, NULL, NULL, ver);
+ break;
+ case BLENDER_RESOURCE_PATH_SYSTEM:
+ ok = get_path_system(path, NULL, NULL, NULL, ver);
+ break;
+ default:
+ path[0] = '\0'; /* in case do_check is false */
+ ok = FALSE;
+ BLI_assert(!"incorrect ID");
}
if ((ok == FALSE) && do_check) {
@@ -1191,11 +1191,11 @@ char *BLI_get_folder_version(const int id, const int ver, const int do_check)
#undef PATH_DEBUG
#endif
-void BLI_setenv(const char *env, const char*val)
+void BLI_setenv(const char *env, const char *val)
{
/* free windows */
#if (defined(WIN32) || defined(WIN64)) && defined(FREE_WINDOWS)
- char *envstr= MEM_mallocN(sizeof(char) * (strlen(env) + strlen(val) + 2), "envstr"); /* one for = another for \0 */
+ char *envstr = MEM_mallocN(sizeof(char) * (strlen(env) + strlen(val) + 2), "envstr"); /* one for = another for \0 */
sprintf(envstr, "%s=%s", env, val);
putenv(envstr);
@@ -1217,7 +1217,7 @@ void BLI_setenv(const char *env, const char*val)
* Only set an env var if already not there.
* Like Unix setenv(env, val, 0);
*/
-void BLI_setenv_if_new(const char *env, const char* val)
+void BLI_setenv_if_new(const char *env, const char *val)
{
if (getenv(env) == NULL)
BLI_setenv(env, val);
@@ -1226,11 +1226,11 @@ void BLI_setenv_if_new(const char *env, const char* val)
void BLI_clean(char *path)
{
- if (path==NULL) return;
+ if (path == NULL) return;
#ifdef WIN32
if (path && BLI_strnlen(path, 3) > 2) {
- BLI_char_switch(path+2, '/', '\\');
+ BLI_char_switch(path + 2, '/', '\\');
}
#else
BLI_char_switch(path, '\\', '/');
@@ -1239,7 +1239,7 @@ void BLI_clean(char *path)
void BLI_char_switch(char *string, char from, char to)
{
- if (string==NULL) return;
+ if (string == NULL) return;
while (*string != 0) {
if (*string == from) *string = to;
string++;
@@ -1255,13 +1255,13 @@ void BLI_make_exist(char *dir)
a = strlen(dir);
while (BLI_is_dir(dir) == 0) {
- a --;
+ a--;
while (dir[a] != SEP) {
a--;
if (a <= 0) break;
}
if (a >= 0) {
- dir[a+1] = '\0';
+ dir[a + 1] = '\0';
}
else {
#ifdef WIN32
@@ -1294,7 +1294,7 @@ void BLI_make_file_string(const char *relabase, char *string, const char *dir,
if (string) {
/* ensure this is always set even if dir/file are NULL */
- string[0]= '\0';
+ string[0] = '\0';
if (ELEM(NULL, dir, file)) {
return; /* We don't want any NULLs */
@@ -1321,20 +1321,20 @@ void BLI_make_file_string(const char *relabase, char *string, const char *dir,
/* Get the file name, chop everything past the last slash (ie. the filename) */
strcpy(string, relabase);
- lslash= BLI_last_slash(string);
- if (lslash) *(lslash+1)= 0;
+ lslash = BLI_last_slash(string);
+ if (lslash) *(lslash + 1) = 0;
- dir+=2; /* Skip over the relative reference */
+ dir += 2; /* Skip over the relative reference */
}
#ifdef WIN32
else {
- if (BLI_strnlen(dir, 3) >= 2 && dir[1] == ':' ) {
+ if (BLI_strnlen(dir, 3) >= 2 && dir[1] == ':') {
BLI_strncpy(string, dir, 3);
dir += 2;
}
else { /* no drive specified */
- /* first option: get the drive from the relabase if it has one */
- if (relabase && strlen(relabase) >= 2 && relabase[1] == ':' ) {
+ /* first option: get the drive from the relabase if it has one */
+ if (relabase && strlen(relabase) >= 2 && relabase[1] == ':') {
BLI_strncpy(string, relabase, 3);
string[2] = '\\';
string[3] = '\0';
@@ -1354,8 +1354,8 @@ void BLI_make_file_string(const char *relabase, char *string, const char *dir,
/* Make sure string ends in one (and only one) slash */
/* first trim all slashes from the end of the string */
sl = strlen(string);
- while (sl>0 && ( string[sl-1] == '/' || string[sl-1] == '\\') ) {
- string[sl-1] = '\0';
+ while (sl > 0 && (string[sl - 1] == '/' || string[sl - 1] == '\\') ) {
+ string[sl - 1] = '\0';
sl--;
}
/* since we've now removed all slashes, put back one slash at the end. */
@@ -1364,7 +1364,7 @@ void BLI_make_file_string(const char *relabase, char *string, const char *dir,
while (*file && (*file == '/' || *file == '\\')) /* Trim slashes from the front of file */
file++;
- strcat (string, file);
+ strcat(string, file);
/* Push all slashes to the system preferred direction */
BLI_clean(string);
@@ -1375,10 +1375,10 @@ int BLI_testextensie(const char *str, const char *ext)
short a, b;
int retval;
- a= strlen(str);
- b= strlen(ext);
+ a = strlen(str);
+ b = strlen(ext);
- if (a==0 || b==0 || b>=a) {
+ if (a == 0 || b == 0 || b >= a) {
retval = 0;
}
else if (BLI_strcasecmp(ext, str + a - b)) {
@@ -1393,7 +1393,7 @@ int BLI_testextensie(const char *str, const char *ext)
int BLI_testextensie_array(const char *str, const char **ext_array)
{
- int i=0;
+ int i = 0;
while (ext_array[i]) {
if (BLI_testextensie(str, ext_array[i])) {
return 1;
@@ -1408,23 +1408,23 @@ int BLI_testextensie_array(const char *str, const char **ext_array)
* '*.zip;*.py;*.exe' */
int BLI_testextensie_glob(const char *str, const char *ext_fnmatch)
{
- const char *ext_step= ext_fnmatch;
+ const char *ext_step = ext_fnmatch;
char pattern[16];
while (ext_step[0]) {
char *ext_next;
int len_ext;
- if ((ext_next=strchr(ext_step, ';'))) {
- len_ext= (int)(ext_next - ext_step) + 1;
+ if ((ext_next = strchr(ext_step, ';'))) {
+ len_ext = (int)(ext_next - ext_step) + 1;
}
else {
- len_ext= sizeof(pattern);
+ len_ext = sizeof(pattern);
}
BLI_strncpy(pattern, ext_step, len_ext);
- if (fnmatch(pattern, str, FNM_CASEFOLD)==0) {
+ if (fnmatch(pattern, str, FNM_CASEFOLD) == 0) {
return 1;
}
ext_step += len_ext;
@@ -1436,32 +1436,32 @@ int BLI_testextensie_glob(const char *str, const char *ext_fnmatch)
int BLI_replace_extension(char *path, size_t maxlen, const char *ext)
{
- size_t path_len= strlen(path);
- size_t ext_len= strlen(ext);
+ size_t path_len = strlen(path);
+ size_t ext_len = strlen(ext);
ssize_t a;
- for (a= path_len - 1; a >= 0; a--) {
+ for (a = path_len - 1; a >= 0; a--) {
if (ELEM3(path[a], '.', '/', '\\')) {
break;
}
}
if ((a < 0) || (path[a] != '.')) {
- a= path_len;
+ a = path_len;
}
if (a + ext_len >= maxlen)
return 0;
- memcpy(path+a, ext, ext_len + 1);
+ memcpy(path + a, ext, ext_len + 1);
return 1;
}
/* strip's trailing '.'s and adds the extension only when needed */
int BLI_ensure_extension(char *path, size_t maxlen, const char *ext)
{
- size_t path_len= strlen(path);
- size_t ext_len= strlen(ext);
+ size_t path_len = strlen(path);
+ size_t ext_len = strlen(ext);
ssize_t a;
/* first check the extension is alread there */
@@ -1471,9 +1471,9 @@ int BLI_ensure_extension(char *path, size_t maxlen, const char *ext)
return 1;
}
- for (a= path_len - 1; a >= 0; a--) {
+ for (a = path_len - 1; a >= 0; a--) {
if (path[a] == '.') {
- path[a]= '\0';
+ path[a] = '\0';
}
else {
break;
@@ -1484,7 +1484,7 @@ int BLI_ensure_extension(char *path, size_t maxlen, const char *ext)
if (a + ext_len >= maxlen)
return 0;
- memcpy(path+a, ext, ext_len + 1);
+ memcpy(path + a, ext, ext_len + 1);
return 1;
}
@@ -1497,7 +1497,7 @@ int BLI_ensure_extension(char *path, size_t maxlen, const char *ext)
void BLI_split_dirfile(const char *string, char *dir, char *file, const size_t dirlen, const size_t filelen)
{
char *lslash_str = BLI_last_slash(string);
- size_t lslash= lslash_str ? (size_t)(lslash_str - string) + 1 : 0;
+ size_t lslash = lslash_str ? (size_t)(lslash_str - string) + 1 : 0;
if (dir) {
if (lslash) {
@@ -1509,7 +1509,7 @@ void BLI_split_dirfile(const char *string, char *dir, char *file, const size_t d
}
if (file) {
- BLI_strncpy(file, string+lslash, filelen);
+ BLI_strncpy(file, string + lslash, filelen);
}
}
@@ -1526,12 +1526,12 @@ void BLI_split_file_part(const char *string, char *file, const size_t filelen)
/* simple appending of filename to dir, does not check for valid path! */
void BLI_join_dirfile(char *dst, const size_t maxlen, const char *dir, const char *file)
{
- size_t dirlen= BLI_strnlen(dir, maxlen);
+ size_t dirlen = BLI_strnlen(dir, maxlen);
if (dst != dir) {
if (dirlen == maxlen) {
memcpy(dst, dir, dirlen);
- dst[dirlen - 1]= '\0';
+ dst[dirlen - 1] = '\0';
return; /* dir fills the path */
}
else {
@@ -1546,7 +1546,7 @@ void BLI_join_dirfile(char *dst, const size_t maxlen, const char *dir, const cha
/* inline BLI_add_slash */
if ((dirlen > 0) && (dst[dirlen - 1] != SEP)) {
dst[dirlen++] = SEP;
- dst[dirlen ] = '\0';
+ dst[dirlen] = '\0';
}
if (dirlen >= maxlen) {
@@ -1563,7 +1563,7 @@ void BLI_join_dirfile(char *dst, const size_t maxlen, const char *dir, const cha
/* like pythons os.path.basename( ) */
char *BLI_path_basename(char *path)
{
- char *filename= BLI_last_slash(path);
+ char *filename = BLI_last_slash(path);
return filename ? filename + 1 : path;
}
@@ -1598,20 +1598,20 @@ int BKE_rebase_path(char *abs, size_t abs_len, char *rel, size_t rel_len, const
char path[FILE_MAX];
char dir[FILE_MAX];
char base[FILE_MAX];
- char blend_dir[FILE_MAX]; /* directory, where current .blend file resides */
+ char blend_dir[FILE_MAX]; /* directory, where current .blend file resides */
char dest_path[FILE_MAX];
char rel_dir[FILE_MAX];
int len;
if (abs)
- abs[0]= 0;
+ abs[0] = 0;
if (rel)
- rel[0]= 0;
+ rel[0] = 0;
BLI_split_dir_part(base_dir, blend_dir, sizeof(blend_dir));
- if (src_dir[0]=='\0')
+ if (src_dir[0] == '\0')
return 0;
BLI_strncpy(path, src_dir, sizeof(path));
@@ -1622,7 +1622,7 @@ int BKE_rebase_path(char *abs, size_t abs_len, char *rel, size_t rel_len, const
/* get the directory part */
BLI_split_dirfile(path, dir, base, sizeof(dir), sizeof(base));
- len= strlen(blend_dir);
+ len = strlen(blend_dir);
rel_dir[0] = 0;
@@ -1669,8 +1669,8 @@ char *BLI_first_slash(char *string)
{
char *ffslash, *fbslash;
- ffslash= strchr(string, '/');
- fbslash= strchr(string, '\\');
+ ffslash = strchr(string, '/');
+ fbslash = strchr(string, '\\');
if (!ffslash) return fbslash;
else if (!fbslash) return ffslash;
@@ -1683,8 +1683,8 @@ char *BLI_last_slash(const char *string)
{
char *lfslash, *lbslash;
- lfslash= strrchr(string, '/');
- lbslash= strrchr(string, '\\');
+ lfslash = strrchr(string, '/');
+ lbslash = strrchr(string, '\\');
if (!lfslash) return lbslash;
else if (!lbslash) return lfslash;
@@ -1697,10 +1697,10 @@ char *BLI_last_slash(const char *string)
int BLI_add_slash(char *string)
{
int len = strlen(string);
- if (len==0 || string[len-1] != SEP) {
+ if (len == 0 || string[len - 1] != SEP) {
string[len] = SEP;
- string[len+1] = '\0';
- return len+1;
+ string[len + 1] = '\0';
+ return len + 1;
}
return len;
}
@@ -1710,8 +1710,8 @@ void BLI_del_slash(char *string)
{
int len = strlen(string);
while (len) {
- if (string[len-1] == SEP) {
- string[len-1] = '\0';
+ if (string[len - 1] == SEP) {
+ string[len - 1] = '\0';
len--;
}
else {
@@ -1747,7 +1747,7 @@ static int add_win32_extension(char *name)
}
type = BLI_exists(filename);
- if (type && (! S_ISDIR(type))) {
+ if (type && (!S_ISDIR(type))) {
retval = 1;
strcpy(name, filename);
break;
@@ -1798,7 +1798,7 @@ static void bli_where_am_i(char *fullname, const size_t maxlen, const char *name
#endif
#ifdef _WIN32
- wchar_t * fullname_16 = MEM_mallocN(maxlen*sizeof(wchar_t), "ProgramPath");
+ wchar_t *fullname_16 = MEM_mallocN(maxlen * sizeof(wchar_t), "ProgramPath");
if (GetModuleFileNameW(0, fullname_16, maxlen)) {
conv_utf_16_to_8(fullname_16, fullname, maxlen);
if (!BLI_exists(fullname)) {
@@ -1817,12 +1817,12 @@ static void bli_where_am_i(char *fullname, const size_t maxlen, const char *name
BLI_strncpy(fullname, name, maxlen);
if (name[0] == '.') {
- char wdir[FILE_MAX]= "";
- BLI_current_working_dir(wdir, sizeof(wdir)); /* backup cwd to restore after */
+ char wdir[FILE_MAX] = "";
+ BLI_current_working_dir(wdir, sizeof(wdir)); /* backup cwd to restore after */
// not needed but avoids annoying /./ in name
- if (name[1]==SEP)
- BLI_join_dirfile(fullname, maxlen, wdir, name+2);
+ if (name[1] == SEP)
+ BLI_join_dirfile(fullname, maxlen, wdir, name + 2);
else
BLI_join_dirfile(fullname, maxlen, wdir, name);
@@ -1955,22 +1955,22 @@ void BLI_system_temporary_dir(char *dir)
void BLI_string_to_utf8(char *original, char *utf_8, const char *code)
{
- size_t inbytesleft=strlen(original);
- size_t outbytesleft=512;
- size_t rv=0;
+ size_t inbytesleft = strlen(original);
+ size_t outbytesleft = 512;
+ size_t rv = 0;
iconv_t cd;
if (NULL == code) {
code = locale_charset();
}
- cd=iconv_open("UTF-8", code);
+ cd = iconv_open("UTF-8", code);
if (cd == (iconv_t)(-1)) {
printf("iconv_open Error");
- *utf_8='\0';
+ *utf_8 = '\0';
return;
}
- rv=iconv(cd, &original, &inbytesleft, &utf_8, &outbytesleft);
+ rv = iconv(cd, &original, &inbytesleft, &utf_8, &outbytesleft);
if (rv == (size_t) -1) {
printf("iconv Error\n");
return;
@@ -1979,5 +1979,3 @@ void BLI_string_to_utf8(char *original, char *utf_8, const char *code)
iconv_close(cd);
}
#endif // WITH_ICONV
-
-