Merge branch 'blender-v3.4-release'
This commit is contained in:
@@ -183,7 +183,7 @@ FreestyleLineSet *BKE_freestyle_lineset_add(struct Main *bmain,
|
||||
BLI_strncpy(lineset->name, name, sizeof(lineset->name));
|
||||
}
|
||||
else if (lineset_index > 0) {
|
||||
sprintf(lineset->name, "LineSet %i", lineset_index + 1);
|
||||
BLI_snprintf(lineset->name, sizeof(lineset->name), "LineSet %i", lineset_index + 1);
|
||||
}
|
||||
else {
|
||||
strcpy(lineset->name, "LineSet");
|
||||
|
||||
@@ -3610,12 +3610,12 @@ void BKE_image_set_filepath_from_tile_number(char *filepath,
|
||||
}
|
||||
|
||||
if (tile_format == UDIM_TILE_FORMAT_UDIM) {
|
||||
sprintf(filepath, pattern, tile_number);
|
||||
BLI_sprintf(filepath, pattern, tile_number);
|
||||
}
|
||||
else if (tile_format == UDIM_TILE_FORMAT_UVTILE) {
|
||||
int u = ((tile_number - 1001) % 10);
|
||||
int v = ((tile_number - 1001) / 10);
|
||||
sprintf(filepath, pattern, u + 1, v + 1);
|
||||
BLI_sprintf(filepath, pattern, u + 1, v + 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3436,7 +3436,7 @@ void ntreeRemoveSocketInterface(bNodeTree *ntree, bNodeSocket *sock)
|
||||
static void ntree_interface_identifier_base(bNodeTree *ntree, char *base)
|
||||
{
|
||||
/* generate a valid RNA identifier */
|
||||
sprintf(base, "NodeTreeInterface_%s", ntree->id.name + 2);
|
||||
BLI_sprintf(base, "NodeTreeInterface_%s", ntree->id.name + 2);
|
||||
RNA_identifier_sanitize(base, false);
|
||||
}
|
||||
|
||||
@@ -3462,8 +3462,8 @@ static void ntree_interface_identifier(bNodeTree *ntree,
|
||||
BLI_uniquename_cb(
|
||||
ntree_interface_unique_identifier_check, nullptr, base, '_', identifier, maxlen);
|
||||
|
||||
sprintf(name, "Node Tree %s Interface", ntree->id.name + 2);
|
||||
sprintf(description, "Interface properties of node group %s", ntree->id.name + 2);
|
||||
BLI_sprintf(name, "Node Tree %s Interface", ntree->id.name + 2);
|
||||
BLI_sprintf(description, "Interface properties of node group %s", ntree->id.name + 2);
|
||||
}
|
||||
|
||||
static void ntree_interface_type_create(bNodeTree *ntree)
|
||||
|
||||
@@ -3132,15 +3132,15 @@ static void ptcache_dt_to_str(char *str, double dtime)
|
||||
{
|
||||
if (dtime > 60.0) {
|
||||
if (dtime > 3600.0) {
|
||||
sprintf(
|
||||
BLI_sprintf(
|
||||
str, "%ih %im %is", (int)(dtime / 3600), ((int)(dtime / 60)) % 60, ((int)dtime) % 60);
|
||||
}
|
||||
else {
|
||||
sprintf(str, "%im %is", ((int)(dtime / 60)) % 60, ((int)dtime) % 60);
|
||||
BLI_sprintf(str, "%im %is", ((int)(dtime / 60)) % 60, ((int)dtime) % 60);
|
||||
}
|
||||
}
|
||||
else {
|
||||
sprintf(str, "%is", ((int)dtime) % 60);
|
||||
BLI_sprintf(str, "%is", ((int)dtime) % 60);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1386,7 +1386,7 @@ static void ffmpeg_filepath_get(
|
||||
|
||||
if ((rd->ffcodecdata.flags & FFMPEG_AUTOSPLIT_OUTPUT) != 0) {
|
||||
if (context) {
|
||||
sprintf(autosplit, "_%03d", context->ffmpeg_autosplit_count);
|
||||
BLI_snprintf(autosplit, sizeof(autosplit), "_%03d", context->ffmpeg_autosplit_count);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -205,6 +205,13 @@ size_t BLI_vsnprintf_rlen(char *__restrict buffer,
|
||||
char *BLI_sprintfN(const char *__restrict format, ...) ATTR_WARN_UNUSED_RESULT
|
||||
ATTR_NONNULL(1) ATTR_MALLOC ATTR_PRINTF_FORMAT(1, 2);
|
||||
|
||||
/**
|
||||
* A wrapper around ::sprintf() which does not generate security warnings.
|
||||
*
|
||||
* \note Use BLI_snprintf for cases when the string size is known.
|
||||
*/
|
||||
int BLI_sprintf(char *__restrict str, const char *__restrict format, ...);
|
||||
|
||||
/**
|
||||
* This roughly matches C and Python's string escaping with double quotes - `"`.
|
||||
*
|
||||
|
||||
@@ -123,7 +123,7 @@ int BLI_path_sequence_decode(const char *string, char *head, char *tail, ushort
|
||||
void BLI_path_sequence_encode(
|
||||
char *string, const char *head, const char *tail, ushort numlen, int pic)
|
||||
{
|
||||
sprintf(string, "%s%.*d%s", head, numlen, MAX2(0, pic), tail);
|
||||
BLI_sprintf(string, "%s%.*d%s", head, numlen, MAX2(0, pic), tail);
|
||||
}
|
||||
|
||||
static int BLI_path_unc_prefix_len(const char *path); /* defined below in same file */
|
||||
@@ -620,7 +620,7 @@ bool BLI_path_suffix(char *string, size_t maxlen, const char *suffix, const char
|
||||
}
|
||||
|
||||
BLI_strncpy(extension, string + a, sizeof(extension));
|
||||
sprintf(string + a, "%s%s%s", sep, suffix, extension);
|
||||
BLI_sprintf(string + a, "%s%s%s", sep, suffix, extension);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -241,6 +241,17 @@ char *BLI_sprintfN(const char *__restrict format, ...)
|
||||
return n;
|
||||
}
|
||||
|
||||
int BLI_sprintf(char *__restrict str, const char *__restrict format, ...)
|
||||
{
|
||||
va_list arg;
|
||||
|
||||
va_start(arg, format);
|
||||
const int result = vsprintf(str, format, arg);
|
||||
va_end(arg);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/** \} */
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
@@ -1114,7 +1125,7 @@ static size_t BLI_str_format_int_grouped_ex(char src[16], char dst[16], int num_
|
||||
size_t BLI_str_format_int_grouped(char dst[16], int num)
|
||||
{
|
||||
char src[16];
|
||||
int num_len = sprintf(src, "%d", num);
|
||||
const int num_len = BLI_snprintf(src, sizeof(src), "%d", num);
|
||||
|
||||
return BLI_str_format_int_grouped_ex(src, dst, num_len);
|
||||
}
|
||||
@@ -1124,7 +1135,7 @@ size_t BLI_str_format_uint64_grouped(char dst[16], uint64_t num)
|
||||
/* NOTE: Buffer to hold maximum `uint64`, which is 1.8e+19. but
|
||||
* we also need space for commas and null-terminator. */
|
||||
char src[27];
|
||||
int num_len = sprintf(src, "%" PRIu64 "", num);
|
||||
const int num_len = BLI_snprintf(src, sizeof(src), "%" PRIu64 "", num);
|
||||
|
||||
return BLI_str_format_int_grouped_ex(src, dst, num_len);
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
|
||||
#include "BLI_assert.h"
|
||||
#include "BLI_string.h"
|
||||
#include "BLI_uuid.h"
|
||||
|
||||
#include <cstdio>
|
||||
@@ -85,19 +86,19 @@ bool BLI_uuid_equal(const bUUID uuid1, const bUUID uuid2)
|
||||
|
||||
void BLI_uuid_format(char *buffer, const bUUID uuid)
|
||||
{
|
||||
std::sprintf(buffer,
|
||||
"%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
|
||||
uuid.time_low,
|
||||
uuid.time_mid,
|
||||
uuid.time_hi_and_version,
|
||||
uuid.clock_seq_hi_and_reserved,
|
||||
uuid.clock_seq_low,
|
||||
uuid.node[0],
|
||||
uuid.node[1],
|
||||
uuid.node[2],
|
||||
uuid.node[3],
|
||||
uuid.node[4],
|
||||
uuid.node[5]);
|
||||
BLI_sprintf(buffer,
|
||||
"%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
|
||||
uuid.time_low,
|
||||
uuid.time_mid,
|
||||
uuid.time_hi_and_version,
|
||||
uuid.clock_seq_hi_and_reserved,
|
||||
uuid.clock_seq_low,
|
||||
uuid.node[0],
|
||||
uuid.node[1],
|
||||
uuid.node[2],
|
||||
uuid.node[3],
|
||||
uuid.node[4],
|
||||
uuid.node[5]);
|
||||
}
|
||||
|
||||
bool BLI_uuid_parse_string(bUUID *uuid, const char *buffer)
|
||||
|
||||
@@ -110,7 +110,7 @@ bool BLI_windows_register_blend_extension(const bool background)
|
||||
&hkey,
|
||||
&dwd);
|
||||
if (lresult == ERROR_SUCCESS) {
|
||||
sprintf(buffer, "\"%s\" \"%%1\"", BlPath);
|
||||
BLI_snprintf(buffer, sizeof(buffer), "\"%s\" \"%%1\"", BlPath);
|
||||
lresult = RegSetValueEx(hkey, NULL, 0, REG_SZ, (BYTE *)buffer, strlen(buffer) + 1);
|
||||
RegCloseKey(hkey);
|
||||
}
|
||||
@@ -129,7 +129,7 @@ bool BLI_windows_register_blend_extension(const bool background)
|
||||
&hkey,
|
||||
&dwd);
|
||||
if (lresult == ERROR_SUCCESS) {
|
||||
sprintf(buffer, "\"%s\", 1", BlPath);
|
||||
BLI_snprintf(buffer, sizeof(buffer), "\"%s\", 1", BlPath);
|
||||
lresult = RegSetValueEx(hkey, NULL, 0, REG_SZ, (BYTE *)buffer, strlen(buffer) + 1);
|
||||
RegCloseKey(hkey);
|
||||
}
|
||||
@@ -167,10 +167,12 @@ bool BLI_windows_register_blend_extension(const bool background)
|
||||
RegCloseKey(root);
|
||||
printf("success (%s)\n", usr_mode ? "user" : "system");
|
||||
if (!background) {
|
||||
sprintf(MBox,
|
||||
"File extension registered for %s.",
|
||||
usr_mode ? "the current user. To register for all users, run as an administrator" :
|
||||
"all users");
|
||||
BLI_snprintf(MBox,
|
||||
sizeof(MBox),
|
||||
"File extension registered for %s.",
|
||||
usr_mode ?
|
||||
"the current user. To register for all users, run as an administrator" :
|
||||
"all users");
|
||||
MessageBox(0, MBox, "Blender", MB_OK | MB_ICONINFORMATION);
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -1048,7 +1048,7 @@ static void write_global(WriteData *wd, int fileflags, Main *mainvar)
|
||||
if (fileflags & G_FILE_RECOVER_WRITE) {
|
||||
STRNCPY(fg.filepath, mainvar->filepath);
|
||||
}
|
||||
sprintf(subvstr, "%4d", BLENDER_FILE_SUBVERSION);
|
||||
BLI_snprintf(subvstr, sizeof(subvstr), "%4d", BLENDER_FILE_SUBVERSION);
|
||||
memcpy(fg.subvstr, subvstr, 4);
|
||||
|
||||
fg.subversion = BLENDER_FILE_SUBVERSION;
|
||||
@@ -1102,11 +1102,12 @@ static bool write_file_handle(Main *mainvar,
|
||||
wd = mywrite_begin(ww, compare, current);
|
||||
BlendWriter writer = {wd};
|
||||
|
||||
sprintf(buf,
|
||||
"BLENDER%c%c%.3d",
|
||||
(sizeof(void *) == 8) ? '-' : '_',
|
||||
(ENDIAN_ORDER == B_ENDIAN) ? 'V' : 'v',
|
||||
BLENDER_FILE_VERSION);
|
||||
BLI_snprintf(buf,
|
||||
sizeof(buf),
|
||||
"BLENDER%c%c%.3d",
|
||||
(sizeof(void *) == 8) ? '-' : '_',
|
||||
(ENDIAN_ORDER == B_ENDIAN) ? 'V' : 'v',
|
||||
BLENDER_FILE_VERSION);
|
||||
|
||||
mywrite(wd, buf, 12);
|
||||
|
||||
|
||||
@@ -305,7 +305,7 @@ bool DebugInfo::graphviz_system(const ExecutionSystem *system, char *str, int ma
|
||||
|
||||
for (NodeOperation *operation : group->operations_) {
|
||||
|
||||
sprintf(strbuf, "_%p", group);
|
||||
BLI_snprintf(strbuf, sizeof(strbuf), "_%p", group);
|
||||
op_groups[operation].push_back(std::string(strbuf));
|
||||
|
||||
len += graphviz_operation(
|
||||
|
||||
@@ -225,15 +225,15 @@ void DRW_stats_draw(const rcti *rect)
|
||||
/* ------------------------------------------ */
|
||||
/* Label row */
|
||||
char col_label[32];
|
||||
sprintf(col_label, "Engine");
|
||||
BLI_snprintf(col_label, sizeof(col_label), "Engine");
|
||||
draw_stat_5row(rect, u++, v, col_label, sizeof(col_label));
|
||||
sprintf(col_label, "Init");
|
||||
BLI_snprintf(col_label, sizeof(col_label), "Init");
|
||||
draw_stat_5row(rect, u++, v, col_label, sizeof(col_label));
|
||||
sprintf(col_label, "Background");
|
||||
BLI_snprintf(col_label, sizeof(col_label), "Background");
|
||||
draw_stat_5row(rect, u++, v, col_label, sizeof(col_label));
|
||||
sprintf(col_label, "Render");
|
||||
BLI_snprintf(col_label, sizeof(col_label), "Render");
|
||||
draw_stat_5row(rect, u++, v, col_label, sizeof(col_label));
|
||||
sprintf(col_label, "Total (w/o cache)");
|
||||
BLI_snprintf(col_label, sizeof(col_label), "Total (w/o cache)");
|
||||
draw_stat_5row(rect, u++, v, col_label, sizeof(col_label));
|
||||
v++;
|
||||
|
||||
@@ -245,42 +245,45 @@ void DRW_stats_draw(const rcti *rect)
|
||||
draw_stat_5row(rect, u++, v, engine->idname, sizeof(engine->idname));
|
||||
|
||||
init_tot_time += data->init_time;
|
||||
sprintf(time_to_txt, "%.2fms", data->init_time);
|
||||
BLI_snprintf(time_to_txt, sizeof(time_to_txt), "%.2fms", data->init_time);
|
||||
draw_stat_5row(rect, u++, v, time_to_txt, sizeof(time_to_txt));
|
||||
|
||||
background_tot_time += data->background_time;
|
||||
sprintf(time_to_txt, "%.2fms", data->background_time);
|
||||
BLI_snprintf(time_to_txt, sizeof(time_to_txt), "%.2fms", data->background_time);
|
||||
draw_stat_5row(rect, u++, v, time_to_txt, sizeof(time_to_txt));
|
||||
|
||||
render_tot_time += data->render_time;
|
||||
sprintf(time_to_txt, "%.2fms", data->render_time);
|
||||
BLI_snprintf(time_to_txt, sizeof(time_to_txt), "%.2fms", data->render_time);
|
||||
draw_stat_5row(rect, u++, v, time_to_txt, sizeof(time_to_txt));
|
||||
|
||||
tot_time += data->init_time + data->background_time + data->render_time;
|
||||
sprintf(time_to_txt, "%.2fms", data->init_time + data->background_time + data->render_time);
|
||||
BLI_snprintf(time_to_txt,
|
||||
sizeof(time_to_txt),
|
||||
"%.2fms",
|
||||
data->init_time + data->background_time + data->render_time);
|
||||
draw_stat_5row(rect, u++, v, time_to_txt, sizeof(time_to_txt));
|
||||
v++;
|
||||
}
|
||||
|
||||
/* Totals row */
|
||||
u = 0;
|
||||
sprintf(col_label, "Sub Total");
|
||||
BLI_snprintf(col_label, sizeof(col_label), "Sub Total");
|
||||
draw_stat_5row(rect, u++, v, col_label, sizeof(col_label));
|
||||
sprintf(time_to_txt, "%.2fms", init_tot_time);
|
||||
BLI_snprintf(time_to_txt, sizeof(time_to_txt), "%.2fms", init_tot_time);
|
||||
draw_stat_5row(rect, u++, v, time_to_txt, sizeof(time_to_txt));
|
||||
sprintf(time_to_txt, "%.2fms", background_tot_time);
|
||||
BLI_snprintf(time_to_txt, sizeof(time_to_txt), "%.2fms", background_tot_time);
|
||||
draw_stat_5row(rect, u++, v, time_to_txt, sizeof(time_to_txt));
|
||||
sprintf(time_to_txt, "%.2fms", render_tot_time);
|
||||
BLI_snprintf(time_to_txt, sizeof(time_to_txt), "%.2fms", render_tot_time);
|
||||
draw_stat_5row(rect, u++, v, time_to_txt, sizeof(time_to_txt));
|
||||
sprintf(time_to_txt, "%.2fms", tot_time);
|
||||
BLI_snprintf(time_to_txt, sizeof(time_to_txt), "%.2fms", tot_time);
|
||||
draw_stat_5row(rect, u++, v, time_to_txt, sizeof(time_to_txt));
|
||||
v += 2;
|
||||
|
||||
u = 0;
|
||||
double *cache_time = DRW_view_data_cache_time_get(DST.view_data_active);
|
||||
sprintf(col_label, "Cache Time");
|
||||
BLI_snprintf(col_label, sizeof(col_label), "Cache Time");
|
||||
draw_stat_5row(rect, u++, v, col_label, sizeof(col_label));
|
||||
sprintf(time_to_txt, "%.2fms", *cache_time);
|
||||
BLI_snprintf(time_to_txt, sizeof(time_to_txt), "%.2fms", *cache_time);
|
||||
draw_stat_5row(rect, u++, v, time_to_txt, sizeof(time_to_txt));
|
||||
v += 2;
|
||||
|
||||
@@ -292,17 +295,18 @@ void DRW_stats_draw(const rcti *rect)
|
||||
uint tex_mem = GPU_texture_memory_usage_get();
|
||||
uint vbo_mem = GPU_vertbuf_get_memory_usage();
|
||||
|
||||
sprintf(stat_string, "GPU Memory");
|
||||
BLI_snprintf(stat_string, sizeof(stat_string), "GPU Memory");
|
||||
draw_stat(rect, 0, v, stat_string, sizeof(stat_string));
|
||||
sprintf(stat_string, "%.2fMB", (double)(tex_mem + vbo_mem) / 1000000.0);
|
||||
BLI_snprintf(
|
||||
stat_string, sizeof(stat_string), "%.2fMB", (double)(tex_mem + vbo_mem) / 1000000.0);
|
||||
draw_stat_5row(rect, 1, v++, stat_string, sizeof(stat_string));
|
||||
sprintf(stat_string, "Textures");
|
||||
BLI_snprintf(stat_string, sizeof(stat_string), "Textures");
|
||||
draw_stat(rect, 1, v, stat_string, sizeof(stat_string));
|
||||
sprintf(stat_string, "%.2fMB", (double)tex_mem / 1000000.0);
|
||||
BLI_snprintf(stat_string, sizeof(stat_string), "%.2fMB", (double)tex_mem / 1000000.0);
|
||||
draw_stat_5row(rect, 1, v++, stat_string, sizeof(stat_string));
|
||||
sprintf(stat_string, "Meshes");
|
||||
BLI_snprintf(stat_string, sizeof(stat_string), "Meshes");
|
||||
draw_stat(rect, 1, v, stat_string, sizeof(stat_string));
|
||||
sprintf(stat_string, "%.2fMB", (double)vbo_mem / 1000000.0);
|
||||
BLI_snprintf(stat_string, sizeof(stat_string), "%.2fMB", (double)vbo_mem / 1000000.0);
|
||||
draw_stat_5row(rect, 1, v++, stat_string, sizeof(stat_string));
|
||||
v += 1;
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ struct PBVHVbo {
|
||||
{
|
||||
char buf[512];
|
||||
|
||||
sprintf(buf, "%d:%d:%s", int(type), int(domain), name.c_str());
|
||||
BLI_snprintf(buf, sizeof(buf), "%d:%d:%s", int(type), int(domain), name.c_str());
|
||||
|
||||
key = string(buf);
|
||||
return key;
|
||||
|
||||
@@ -219,7 +219,7 @@ static int wm_collada_export_exec(bContext *C, wmOperator *op)
|
||||
}
|
||||
|
||||
char buff[100];
|
||||
sprintf(buff, "Exported %d Objects", export_count);
|
||||
BLI_snprintf(buff, sizeof(buff), "Exported %d Objects", export_count);
|
||||
BKE_report(op->reports, RPT_INFO, buff);
|
||||
return OPERATOR_FINISHED;
|
||||
}
|
||||
|
||||
@@ -893,7 +893,7 @@ static bool bake_targets_output_external(const BakeAPIRender *bkr,
|
||||
else {
|
||||
/* if everything else fails, use the material index */
|
||||
char tmp[5];
|
||||
sprintf(tmp, "%d", i % 1000);
|
||||
BLI_snprintf(tmp, sizeof(tmp), "%d", i % 1000);
|
||||
BLI_path_suffix(name, FILE_MAX, tmp, "_");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -182,7 +182,7 @@ static char *buildmenu_pyconstraints(Main *bmain, Text *con_text, int *pyconinde
|
||||
int i;
|
||||
|
||||
/* add title first */
|
||||
sprintf(buf, "Scripts: %%t|[None]%%x0|");
|
||||
BLI_snprintf(buf, sizeof(buf), "Scripts: %%t|[None]%%x0|");
|
||||
BLI_dynstr_append(pupds, buf);
|
||||
|
||||
/* init active-index first */
|
||||
@@ -201,7 +201,7 @@ static char *buildmenu_pyconstraints(Main *bmain, Text *con_text, int *pyconinde
|
||||
if (BPY_is_pyconstraint(text)) {
|
||||
BLI_dynstr_append(pupds, text->id.name + 2);
|
||||
|
||||
sprintf(buf, "%%x%d", i);
|
||||
BLI_snprintf(buf, sizeof(buf), "%%x%d", i);
|
||||
BLI_dynstr_append(pupds, buf);
|
||||
|
||||
if (text->id.next) {
|
||||
|
||||
@@ -405,56 +405,57 @@ static void make_renderinfo_string(const RenderStats *rs,
|
||||
|
||||
/* local view */
|
||||
if (rs->localview) {
|
||||
spos += sprintf(spos, "%s | ", TIP_("3D Local View"));
|
||||
spos += BLI_sprintf(spos, "%s | ", TIP_("3D Local View"));
|
||||
}
|
||||
else if (v3d_override) {
|
||||
spos += sprintf(spos, "%s | ", TIP_("3D View"));
|
||||
spos += BLI_sprintf(spos, "%s | ", TIP_("3D View"));
|
||||
}
|
||||
|
||||
/* frame number */
|
||||
spos += sprintf(spos, TIP_("Frame:%d "), (scene->r.cfra));
|
||||
spos += BLI_sprintf(spos, TIP_("Frame:%d "), (scene->r.cfra));
|
||||
|
||||
/* previous and elapsed time */
|
||||
BLI_timecode_string_from_time_simple(info_time_str, sizeof(info_time_str), rs->lastframetime);
|
||||
|
||||
if (rs->infostr && rs->infostr[0]) {
|
||||
if (rs->lastframetime != 0.0) {
|
||||
spos += sprintf(spos, TIP_("| Last:%s "), info_time_str);
|
||||
spos += BLI_sprintf(spos, TIP_("| Last:%s "), info_time_str);
|
||||
}
|
||||
else {
|
||||
spos += sprintf(spos, "| ");
|
||||
spos += BLI_sprintf(spos, "| ");
|
||||
}
|
||||
|
||||
BLI_timecode_string_from_time_simple(
|
||||
info_time_str, sizeof(info_time_str), PIL_check_seconds_timer() - rs->starttime);
|
||||
}
|
||||
else {
|
||||
spos += sprintf(spos, "| ");
|
||||
spos += BLI_sprintf(spos, "| ");
|
||||
}
|
||||
|
||||
spos += sprintf(spos, TIP_("Time:%s "), info_time_str);
|
||||
spos += BLI_sprintf(spos, TIP_("Time:%s "), info_time_str);
|
||||
|
||||
/* statistics */
|
||||
if (rs->statstr) {
|
||||
if (rs->statstr[0]) {
|
||||
spos += sprintf(spos, "| %s ", rs->statstr);
|
||||
spos += BLI_sprintf(spos, "| %s ", rs->statstr);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (rs->mem_peak == 0.0f) {
|
||||
spos += sprintf(spos, TIP_("| Mem:%.2fM (Peak %.2fM) "), megs_used_memory, megs_peak_memory);
|
||||
spos += BLI_sprintf(
|
||||
spos, TIP_("| Mem:%.2fM (Peak %.2fM) "), megs_used_memory, megs_peak_memory);
|
||||
}
|
||||
else {
|
||||
spos += sprintf(spos, TIP_("| Mem:%.2fM, Peak: %.2fM "), rs->mem_used, rs->mem_peak);
|
||||
spos += BLI_sprintf(spos, TIP_("| Mem:%.2fM, Peak: %.2fM "), rs->mem_used, rs->mem_peak);
|
||||
}
|
||||
}
|
||||
|
||||
/* extra info */
|
||||
if (rs->infostr && rs->infostr[0]) {
|
||||
spos += sprintf(spos, "| %s ", rs->infostr);
|
||||
spos += BLI_sprintf(spos, "| %s ", rs->infostr);
|
||||
}
|
||||
else if (error && error[0]) {
|
||||
spos += sprintf(spos, "| %s ", error);
|
||||
spos += BLI_sprintf(spos, "| %s ", error);
|
||||
}
|
||||
|
||||
/* very weak... but 512 characters is quite safe */
|
||||
|
||||
@@ -630,10 +630,10 @@ static bool ed_preview_draw_rect(ScrArea *area, int split, int first, rcti *rect
|
||||
bool ok = false;
|
||||
|
||||
if (!split || first) {
|
||||
sprintf(name, "Preview %p", (void *)area);
|
||||
BLI_snprintf(name, sizeof(name), "Preview %p", (void *)area);
|
||||
}
|
||||
else {
|
||||
sprintf(name, "SecondPreview %p", (void *)area);
|
||||
BLI_snprintf(name, sizeof(name), "SecondPreview %p", (void *)area);
|
||||
}
|
||||
|
||||
if (split) {
|
||||
@@ -1152,10 +1152,10 @@ static void shader_preview_render(ShaderPreview *sp, ID *id, int split, int firs
|
||||
}
|
||||
|
||||
if (!split || first) {
|
||||
sprintf(name, "Preview %p", sp->owner);
|
||||
BLI_snprintf(name, sizeof(name), "Preview %p", sp->owner);
|
||||
}
|
||||
else {
|
||||
sprintf(name, "SecondPreview %p", sp->owner);
|
||||
BLI_snprintf(name, sizeof(name), "SecondPreview %p", sp->owner);
|
||||
}
|
||||
re = RE_GetRender(name);
|
||||
|
||||
|
||||
@@ -249,7 +249,7 @@ static bool paint_stroke_use_scene_spacing(Brush *brush, ePaintMode mode)
|
||||
|
||||
static bool paint_tool_raycast_original(Brush *brush, ePaintMode UNUSED(mode))
|
||||
{
|
||||
return brush->flag & BRUSH_ANCHORED;
|
||||
return brush->flag & (BRUSH_ANCHORED | BRUSH_DRAG_DOT);
|
||||
}
|
||||
|
||||
static bool paint_tool_require_inbetween_mouse_events(Brush *brush, ePaintMode mode)
|
||||
|
||||
@@ -181,7 +181,7 @@ void ED_node_tree_path_get(SpaceNode *snode, char *value)
|
||||
value += strlen(path->display_name);
|
||||
}
|
||||
else {
|
||||
sprintf(value, "/%s", path->display_name);
|
||||
BLI_sprintf(value, "/%s", path->display_name);
|
||||
value += strlen(path->display_name) + 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -232,12 +232,13 @@ TreeElementRNAArrayElement::TreeElementRNAArrayElement(TreeElement &legacy_te,
|
||||
|
||||
char c = RNA_property_array_item_char(TreeElementRNAArrayElement::getPropertyRNA(), index);
|
||||
|
||||
legacy_te_.name = static_cast<char *>(MEM_callocN(sizeof(char[20]), "OutlinerRNAArrayName"));
|
||||
const size_t name_size = sizeof(char[20]);
|
||||
legacy_te_.name = static_cast<char *>(MEM_callocN(name_size, "OutlinerRNAArrayName"));
|
||||
if (c) {
|
||||
sprintf((char *)legacy_te_.name, " %c", c);
|
||||
BLI_snprintf((char *)legacy_te_.name, name_size, " %c", c);
|
||||
}
|
||||
else {
|
||||
sprintf((char *)legacy_te_.name, " %d", index + 1);
|
||||
BLI_snprintf((char *)legacy_te_.name, name_size, " %d", index + 1);
|
||||
}
|
||||
legacy_te_.flag |= TE_FREE_NAME;
|
||||
}
|
||||
|
||||
@@ -1306,15 +1306,15 @@ static void draw_selected_name(
|
||||
char info[300];
|
||||
char *s = info;
|
||||
|
||||
s += sprintf(s, "(%d)", cfra);
|
||||
s += BLI_sprintf(s, "(%d)", cfra);
|
||||
|
||||
if ((ob == nullptr) || (ob->mode == OB_MODE_OBJECT)) {
|
||||
BKE_view_layer_synced_ensure(scene, view_layer);
|
||||
LayerCollection *layer_collection = BKE_view_layer_active_collection_get(view_layer);
|
||||
s += sprintf(s,
|
||||
" %s%s",
|
||||
BKE_collection_ui_name_get(layer_collection->collection),
|
||||
(ob == nullptr) ? "" : " |");
|
||||
s += BLI_sprintf(s,
|
||||
" %s%s",
|
||||
BKE_collection_ui_name_get(layer_collection->collection),
|
||||
(ob == nullptr) ? "" : " |");
|
||||
}
|
||||
|
||||
/* Info can contain:
|
||||
@@ -1407,12 +1407,12 @@ static void draw_selected_name(
|
||||
}
|
||||
|
||||
if (markern) {
|
||||
s += sprintf(s, " <%s>", markern);
|
||||
s += BLI_sprintf(s, " <%s>", markern);
|
||||
}
|
||||
|
||||
if (v3d->flag2 & V3D_SHOW_VIEWER) {
|
||||
if (!BLI_listbase_is_empty(&v3d->viewer_path.path)) {
|
||||
s += sprintf(s, "%s", IFACE_(" (Viewer)"));
|
||||
s += BLI_sprintf(s, "%s", IFACE_(" (Viewer)"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
#include "avi_rgb.h"
|
||||
#include "avi_rgb32.h"
|
||||
|
||||
#include "BLI_string.h"
|
||||
|
||||
void *avi_format_convert(
|
||||
AviMovie *movie, int stream, void *buffer, AviFormat from, AviFormat to, size_t *size)
|
||||
{
|
||||
@@ -68,10 +70,10 @@ int avi_get_data_id(AviFormat format, int stream)
|
||||
char fcc[5];
|
||||
|
||||
if (avi_get_format_type(format) == FCC("vids")) {
|
||||
sprintf(fcc, "%2.2ddc", stream);
|
||||
BLI_snprintf(fcc, sizeof(fcc), "%2.2ddc", stream);
|
||||
}
|
||||
else if (avi_get_format_type(format) == FCC("auds")) {
|
||||
sprintf(fcc, "%2.2ddc", stream);
|
||||
BLI_snprintf(fcc, sizeof(fcc), "%2.2ddc", stream);
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
|
||||
@@ -43,7 +43,8 @@ bool AnimationExporter::open_animation_container(bool has_container, Object *ob)
|
||||
{
|
||||
if (!has_container) {
|
||||
char anim_id[200];
|
||||
sprintf(anim_id, "action_container-%s", translate_id(id_name(ob)).c_str());
|
||||
BLI_snprintf(
|
||||
anim_id, sizeof(anim_id), "action_container-%s", translate_id(id_name(ob)).c_str());
|
||||
openAnimation(anim_id, encode_xml(id_name(ob)));
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -522,7 +522,7 @@ std::string GeometryExporter::makeTexcoordSourceId(std::string &geom_id,
|
||||
suffix[0] = '\0';
|
||||
}
|
||||
else {
|
||||
sprintf(suffix, "-%d", layer_index);
|
||||
BLI_snprintf(suffix, sizeof(suffix), "-%d", layer_index);
|
||||
}
|
||||
return getIdBySemantics(geom_id, COLLADASW::InputSemantic::TEXCOORD) + suffix;
|
||||
}
|
||||
|
||||
@@ -90,7 +90,8 @@ void GpencilExporterSVG::create_document_header()
|
||||
|
||||
pugi::xml_node comment = main_doc_.append_child(pugi::node_comment);
|
||||
char txt[128];
|
||||
sprintf(txt, " Generator: Blender, %s - %s ", SVG_EXPORTER_NAME, SVG_EXPORTER_VERSION);
|
||||
BLI_snprintf(
|
||||
txt, sizeof(txt), " Generator: Blender, %s - %s ", SVG_EXPORTER_NAME, SVG_EXPORTER_VERSION);
|
||||
comment.set_value(txt);
|
||||
|
||||
pugi::xml_node doctype = main_doc_.append_child(pugi::node_doctype);
|
||||
@@ -147,7 +148,7 @@ void GpencilExporterSVG::export_gpencil_layers()
|
||||
pugi::xml_node ob_node = frame_node_.append_child("g");
|
||||
|
||||
char obtxt[96];
|
||||
sprintf(obtxt, "blender_object_%s", ob->id.name + 2);
|
||||
BLI_snprintf(obtxt, sizeof(obtxt), "blender_object_%s", ob->id.name + 2);
|
||||
ob_node.append_attribute("id").set_value(obtxt);
|
||||
|
||||
/* Use evaluated version to get strokes with modifiers. */
|
||||
@@ -402,7 +403,7 @@ std::string GpencilExporterSVG::rgb_to_hexstr(const float color[3])
|
||||
uint8_t g = color[1] * 255.0f;
|
||||
uint8_t b = color[2] * 255.0f;
|
||||
char hex_string[20];
|
||||
sprintf(hex_string, "#%02X%02X%02X", r, g, b);
|
||||
BLI_snprintf(hex_string, sizeof(hex_string), "#%02X%02X%02X", r, g, b);
|
||||
|
||||
std::string hexstr = hex_string;
|
||||
|
||||
|
||||
@@ -1188,7 +1188,7 @@ static void rna_ParticleTarget_name_get(PointerRNA *ptr, char *str)
|
||||
|
||||
if (psys) {
|
||||
if (pt->ob) {
|
||||
sprintf(str, "%s: %s", pt->ob->id.name + 2, psys->name);
|
||||
BLI_sprintf(str, "%s: %s", pt->ob->id.name + 2, psys->name);
|
||||
}
|
||||
else {
|
||||
strcpy(str, psys->name);
|
||||
@@ -1315,7 +1315,7 @@ static void rna_ParticleDupliWeight_name_get(PointerRNA *ptr, char *str)
|
||||
ParticleDupliWeight *dw = ptr->data;
|
||||
|
||||
if (dw->ob) {
|
||||
sprintf(str, "%s: %i", dw->ob->id.name + 2, dw->count);
|
||||
BLI_sprintf(str, "%s: %i", dw->ob->id.name + 2, dw->count);
|
||||
}
|
||||
else {
|
||||
strcpy(str, "No object");
|
||||
|
||||
@@ -83,7 +83,7 @@ static void unique_name(bNode *node)
|
||||
BLI_strncpy(new_name, name, sizeof(tno->name));
|
||||
name = new_name;
|
||||
}
|
||||
sprintf(new_name + new_len - 4, ".%03d", ++suffix);
|
||||
BLI_sprintf(new_name + new_len - 4, ".%03d", ++suffix);
|
||||
}
|
||||
|
||||
if (new_name[0] != '\0') {
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include "BLI_math.h"
|
||||
#include "BLI_sort.h"
|
||||
#include "BLI_string.h"
|
||||
|
||||
#include "DNA_material_types.h"
|
||||
#include "DNA_mesh_types.h"
|
||||
@@ -4246,16 +4247,16 @@ char *BPy_BMElem_StringFromHType_ex(const char htype, char ret[32])
|
||||
/* zero to ensure string is always NULL terminated */
|
||||
char *ret_ptr = ret;
|
||||
if (htype & BM_VERT) {
|
||||
ret_ptr += sprintf(ret_ptr, "/%s", BPy_BMVert_Type.tp_name);
|
||||
ret_ptr += BLI_sprintf(ret_ptr, "/%s", BPy_BMVert_Type.tp_name);
|
||||
}
|
||||
if (htype & BM_EDGE) {
|
||||
ret_ptr += sprintf(ret_ptr, "/%s", BPy_BMEdge_Type.tp_name);
|
||||
ret_ptr += BLI_sprintf(ret_ptr, "/%s", BPy_BMEdge_Type.tp_name);
|
||||
}
|
||||
if (htype & BM_FACE) {
|
||||
ret_ptr += sprintf(ret_ptr, "/%s", BPy_BMFace_Type.tp_name);
|
||||
ret_ptr += BLI_sprintf(ret_ptr, "/%s", BPy_BMFace_Type.tp_name);
|
||||
}
|
||||
if (htype & BM_LOOP) {
|
||||
ret_ptr += sprintf(ret_ptr, "/%s", BPy_BMLoop_Type.tp_name);
|
||||
ret_ptr += BLI_sprintf(ret_ptr, "/%s", BPy_BMLoop_Type.tp_name);
|
||||
}
|
||||
ret[0] = '(';
|
||||
*ret_ptr++ = ')';
|
||||
|
||||
@@ -993,7 +993,7 @@ static PyObject *pyrna_prop_str(BPy_PropertyRNA *self)
|
||||
}
|
||||
|
||||
if (len != -1) {
|
||||
sprintf(--c, "[%d]", len);
|
||||
BLI_sprintf(--c, "[%d]", len);
|
||||
}
|
||||
|
||||
/* If a pointer, try to print name of pointer target too. */
|
||||
|
||||
@@ -303,7 +303,8 @@ static void seq_disk_cache_get_dir(
|
||||
char project_dir[FILE_MAX];
|
||||
|
||||
seq_disk_cache_get_project_dir(disk_cache, project_dir, sizeof(project_dir));
|
||||
sprintf(scene_name, "%s-%" PRId64, scene->id.name, disk_cache->timestamp);
|
||||
BLI_snprintf(
|
||||
scene_name, sizeof(scene_name), "%s-%" PRId64, scene->id.name, disk_cache->timestamp);
|
||||
BLI_strncpy(seq_name, seq->name, sizeof(seq_name));
|
||||
BLI_filename_make_safe(scene_name);
|
||||
BLI_filename_make_safe(seq_name);
|
||||
@@ -319,14 +320,15 @@ static void seq_disk_cache_get_file_path(SeqDiskCache *disk_cache,
|
||||
seq_disk_cache_get_dir(disk_cache, key->context.scene, key->seq, path, path_len);
|
||||
int frameno = (int)key->frame_index / DCACHE_IMAGES_PER_FILE;
|
||||
char cache_filename[FILE_MAXFILE];
|
||||
sprintf(cache_filename,
|
||||
DCACHE_FNAME_FORMAT,
|
||||
key->type,
|
||||
key->context.rectx,
|
||||
key->context.recty,
|
||||
key->context.preview_render_size,
|
||||
key->context.view_id,
|
||||
frameno);
|
||||
BLI_snprintf(cache_filename,
|
||||
sizeof(cache_filename),
|
||||
DCACHE_FNAME_FORMAT,
|
||||
key->type,
|
||||
key->context.rectx,
|
||||
key->context.recty,
|
||||
key->context.preview_render_size,
|
||||
key->context.view_id,
|
||||
frameno);
|
||||
|
||||
BLI_path_append(path, path_len, cache_filename);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user