From e3c746659e378d5e739f97a9256cbfe1fdec6fee Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 14 Mar 2010 17:18:36 +0000 Subject: [PATCH] strip quites off buildinfo at startup (was doing this for splash screen and python api) --- source/blender/python/intern/bpy_app.c | 37 ++++++------------- source/blender/python/intern/bpy_interface.c | 6 --- .../windowmanager/intern/wm_operators.c | 12 +----- source/creator/buildinfo.c | 10 ++--- source/creator/creator.c | 32 +++++++++++++--- 5 files changed, 44 insertions(+), 53 deletions(-) diff --git a/source/blender/python/intern/bpy_app.c b/source/blender/python/intern/bpy_app.c index be0406ce7c7..ce5eea728a8 100644 --- a/source/blender/python/intern/bpy_app.c +++ b/source/blender/python/intern/bpy_app.c @@ -24,16 +24,18 @@ #include "bpy_app.h" +#include "BLI_path_util.h" + #include "BKE_blender.h" #include "BKE_global.h" #include "structseq.h" #ifdef BUILD_DATE -extern const char * build_date; -extern const char * build_time; -extern const char * build_rev; -extern const char * build_platform; -extern const char * build_type; +extern char build_date[]; +extern char build_time[]; +extern char build_rev[]; +extern char build_platform[]; +extern char build_type[]; #endif static PyTypeObject BlenderAppType; @@ -61,24 +63,9 @@ static PyStructSequence_Desc app_info_desc = { 10 }; -static char *strip_quotes(char *buf, const char *input) -{ - int i; - strcpy(buf, input); - if(buf[0]=='\0') return buf; - while(buf[1] && (buf[0]=='"' || buf[0]=='\'')) buf++; - if(buf[0]=='\0') return buf; - i= strlen(buf) - 1; - while(i>=0 && (buf[i]=='"' || buf[i]=='\'')) i--; - buf[i+1]= '\0'; - - return buf; -} - static PyObject *make_app_info(void) { extern char bprogname[]; /* argv[0] from creator.c */ - char buf[256]; PyObject *app_info; int pos = 0; @@ -103,11 +90,11 @@ static PyObject *make_app_info(void) /* build info */ #ifdef BUILD_DATE - SetStrItem(strip_quotes(buf, build_date)); - SetStrItem(strip_quotes(buf, build_time)); - SetStrItem(strip_quotes(buf, build_rev)); - SetStrItem(strip_quotes(buf, build_platform)); - SetStrItem(strip_quotes(buf, build_type)); + SetStrItem(build_date); + SetStrItem(build_time); + SetStrItem(build_rev); + SetStrItem(build_platform); + SetStrItem(build_type); #else SetStrItem(strip_quotes(buf, "Unknown")); SetStrItem(strip_quotes(buf, "Unknown")); diff --git a/source/blender/python/intern/bpy_interface.c b/source/blender/python/intern/bpy_interface.c index a4acaba8611..8e93751a490 100644 --- a/source/blender/python/intern/bpy_interface.c +++ b/source/blender/python/intern/bpy_interface.c @@ -526,12 +526,6 @@ int BPY_run_python_script_space(const char *modulename, const char *func) } #endif -// #define TIME_REGISTRATION - -#ifdef TIME_REGISTRATION -//(INCLUDE_LINT)#include "PIL_time.h" -#endif - int BPY_button_eval(bContext *C, char *expr, double *value) { diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index 4d8e48f1e8e..7d16fba404c 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -1060,7 +1060,7 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *arg_unuse char *revision_str = NULL; char version_buf[128]; char revision_buf[128]; - extern char * build_rev; + extern char build_rev[]; char *cp; version_str = &version_buf[0]; @@ -1069,16 +1069,6 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *arg_unuse sprintf(version_str, "%d.%02d.%d", BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION); sprintf(revision_str, "r%s", build_rev); - /* here on my system I get ugly double quotes around the revision number. - * if so, clip it off: */ - cp = strchr(revision_str, '"'); - if (cp) { - memmove(cp, cp+1, strlen(cp+1)); - cp = strchr(revision_str, '"'); - if (cp) - *cp = 0; - } - BLF_size(style->widgetlabel.points, U.dpi); ver_width = BLF_width(version_str)+5; rev_width = BLF_width(revision_str)+5; diff --git a/source/creator/buildinfo.c b/source/creator/buildinfo.c index d50a99e8850..8b02dde1a5f 100644 --- a/source/creator/buildinfo.c +++ b/source/creator/buildinfo.c @@ -35,9 +35,9 @@ #define XSTRINGIFY(x) #x #ifdef BUILD_DATE -const char * build_date=STRINGIFY(BUILD_DATE); -const char * build_time=STRINGIFY(BUILD_TIME); -const char * build_rev=STRINGIFY(BUILD_REV); -const char * build_platform=STRINGIFY(BUILD_PLATFORM); -const char * build_type=STRINGIFY(BUILD_TYPE); +char build_date[]= STRINGIFY(BUILD_DATE); +char build_time[]= STRINGIFY(BUILD_TIME); +char build_rev[]= STRINGIFY(BUILD_REV); +char build_platform[]= STRINGIFY(BUILD_PLATFORM); +char build_type[]= STRINGIFY(BUILD_TYPE); #endif diff --git a/source/creator/creator.c b/source/creator/creator.c index 9e910b7cad2..91b4ed09b40 100644 --- a/source/creator/creator.c +++ b/source/creator/creator.c @@ -107,11 +107,11 @@ // from buildinfo.c #ifdef BUILD_DATE -extern const char * build_date; -extern const char * build_time; -extern const char * build_rev; -extern const char * build_platform; -extern const char * build_type; +extern char build_date[]; +extern char build_time[]; +extern char build_rev[]; +extern char build_platform[]; +extern char build_type[]; #endif /* Local Function prototypes */ @@ -161,6 +161,18 @@ static void blender_esc(int sig) } } +/* buildinfo can have quotes */ +static void strip_quotes(char *str) +{ + if(str[0] == '"') { + int len= strlen(str) - 1; + memmove(str, str+1, len); + if(str[len-1] == '"') { + str[len-1]= '\0'; + } + } +} + static int print_version(int argc, char **argv, void *data) { #ifdef BUILD_DATE @@ -936,7 +948,15 @@ int main(int argc, char **argv) if(blender_path_env) BLI_strncpy(blender_path, blender_path_env, sizeof(blender_path)); } - + +#ifdef BUILD_DATE + strip_quotes(build_date); + strip_quotes(build_time); + strip_quotes(build_rev); + strip_quotes(build_platform); + strip_quotes(build_type); +#endif + RNA_init(); RE_engines_init();