strip quites off buildinfo at startup (was doing this for splash screen and python api)

This commit is contained in:
Campbell Barton 2010-03-14 17:18:36 +00:00
parent 128ecc7e82
commit e3c746659e
5 changed files with 44 additions and 53 deletions

@ -24,16 +24,18 @@
#include "bpy_app.h" #include "bpy_app.h"
#include "BLI_path_util.h"
#include "BKE_blender.h" #include "BKE_blender.h"
#include "BKE_global.h" #include "BKE_global.h"
#include "structseq.h" #include "structseq.h"
#ifdef BUILD_DATE #ifdef BUILD_DATE
extern const char * build_date; extern char build_date[];
extern const char * build_time; extern char build_time[];
extern const char * build_rev; extern char build_rev[];
extern const char * build_platform; extern char build_platform[];
extern const char * build_type; extern char build_type[];
#endif #endif
static PyTypeObject BlenderAppType; static PyTypeObject BlenderAppType;
@ -61,24 +63,9 @@ static PyStructSequence_Desc app_info_desc = {
10 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) static PyObject *make_app_info(void)
{ {
extern char bprogname[]; /* argv[0] from creator.c */ extern char bprogname[]; /* argv[0] from creator.c */
char buf[256];
PyObject *app_info; PyObject *app_info;
int pos = 0; int pos = 0;
@ -103,11 +90,11 @@ static PyObject *make_app_info(void)
/* build info */ /* build info */
#ifdef BUILD_DATE #ifdef BUILD_DATE
SetStrItem(strip_quotes(buf, build_date)); SetStrItem(build_date);
SetStrItem(strip_quotes(buf, build_time)); SetStrItem(build_time);
SetStrItem(strip_quotes(buf, build_rev)); SetStrItem(build_rev);
SetStrItem(strip_quotes(buf, build_platform)); SetStrItem(build_platform);
SetStrItem(strip_quotes(buf, build_type)); SetStrItem(build_type);
#else #else
SetStrItem(strip_quotes(buf, "Unknown")); SetStrItem(strip_quotes(buf, "Unknown"));
SetStrItem(strip_quotes(buf, "Unknown")); SetStrItem(strip_quotes(buf, "Unknown"));

@ -526,12 +526,6 @@ int BPY_run_python_script_space(const char *modulename, const char *func)
} }
#endif #endif
// #define TIME_REGISTRATION
#ifdef TIME_REGISTRATION
//(INCLUDE_LINT)#include "PIL_time.h"
#endif
int BPY_button_eval(bContext *C, char *expr, double *value) int BPY_button_eval(bContext *C, char *expr, double *value)
{ {

@ -1060,7 +1060,7 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *arg_unuse
char *revision_str = NULL; char *revision_str = NULL;
char version_buf[128]; char version_buf[128];
char revision_buf[128]; char revision_buf[128];
extern char * build_rev; extern char build_rev[];
char *cp; char *cp;
version_str = &version_buf[0]; 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(version_str, "%d.%02d.%d", BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION);
sprintf(revision_str, "r%s", build_rev); 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); BLF_size(style->widgetlabel.points, U.dpi);
ver_width = BLF_width(version_str)+5; ver_width = BLF_width(version_str)+5;
rev_width = BLF_width(revision_str)+5; rev_width = BLF_width(revision_str)+5;

@ -35,9 +35,9 @@
#define XSTRINGIFY(x) #x #define XSTRINGIFY(x) #x
#ifdef BUILD_DATE #ifdef BUILD_DATE
const char * build_date=STRINGIFY(BUILD_DATE); char build_date[]= STRINGIFY(BUILD_DATE);
const char * build_time=STRINGIFY(BUILD_TIME); char build_time[]= STRINGIFY(BUILD_TIME);
const char * build_rev=STRINGIFY(BUILD_REV); char build_rev[]= STRINGIFY(BUILD_REV);
const char * build_platform=STRINGIFY(BUILD_PLATFORM); char build_platform[]= STRINGIFY(BUILD_PLATFORM);
const char * build_type=STRINGIFY(BUILD_TYPE); char build_type[]= STRINGIFY(BUILD_TYPE);
#endif #endif

@ -107,11 +107,11 @@
// from buildinfo.c // from buildinfo.c
#ifdef BUILD_DATE #ifdef BUILD_DATE
extern const char * build_date; extern char build_date[];
extern const char * build_time; extern char build_time[];
extern const char * build_rev; extern char build_rev[];
extern const char * build_platform; extern char build_platform[];
extern const char * build_type; extern char build_type[];
#endif #endif
/* Local Function prototypes */ /* 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) static int print_version(int argc, char **argv, void *data)
{ {
#ifdef BUILD_DATE #ifdef BUILD_DATE
@ -937,6 +949,14 @@ int main(int argc, char **argv)
BLI_strncpy(blender_path, blender_path_env, sizeof(blender_path)); 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(); RNA_init();
RE_engines_init(); RE_engines_init();