Skip to content

Commit 417dfee

Browse files
committed
dwg_api: relax invalid name checks
only warn, no error
1 parent baaf694 commit 417dfee

File tree

1 file changed

+23
-17
lines changed

1 file changed

+23
-17
lines changed

src/dwg_api.c

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21347,10 +21347,14 @@ dwg_ent_set_ltype (dwg_obj_ent *restrict ent, const char *restrict name)
2134721347
// check given handle (to the ltype tablerecord)
2134821348
Dwg_Data *dwg = ent->dwg;
2134921349
BITCODE_H lt_ref = dwg_find_tablehandle (dwg, name, "LTYPE");
21350-
if (!lt_ref) {
21351-
if (!dwg_is_valid_name (dwg, name))
21352-
return 2; // invalid name
21353-
return 1; // not found
21350+
if (!lt_ref)
21351+
{
21352+
if (!dwg_is_valid_name_u8 (dwg, name))
21353+
{
21354+
LOG_WARN ("Invalid symbol table record name \"%s\"\n", name);
21355+
return 2; // invalid name
21356+
}
21357+
return 1; // not found
2135421358
}
2135521359
if (!ent->ltype
2135621360
|| lt_ref->absolute_ref != ent->ltype->absolute_ref)
@@ -23480,10 +23484,10 @@ dwg_add_INSERT (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
2348023484
// TODO scale_flag
2348123485
_obj->rotation = rotation;
2348223486
ADD_CHECK_ANGLE (_obj->rotation);
23483-
if (!dwg_is_valid_name (dwg, name)) {
23484-
API_UNADD_ENTITY;
23485-
LOG_ERROR("Invalid blockname %s", name);
23486-
return NULL;
23487+
if (!dwg_is_valid_name_u8 (dwg, name)) {
23488+
LOG_WARN("Invalid blockname %s", name);
23489+
//API_UNADD_ENTITY;
23490+
//return NULL;
2348723491
}
2348823492
hdrref = dwg_find_tablehandle (dwg, name, "BLOCK");
2348923493
if (hdrref)
@@ -25250,10 +25254,10 @@ dwg_add_BLOCK_CONTROL (Dwg_Data *restrict dwg, const unsigned ms,
2525025254
Dwg_Object *ctrl = dwg_get_first_object (dwg, DWG_TYPE_##control); \
2525125255
Dwg_Object_##control *_ctrl; \
2525225256
BITCODE_RLL ctrlhdl, ctrlidx; \
25253-
if (name && !dwg_is_valid_name (dwg, name)) \
25257+
if (name && !dwg_is_valid_name_u8 (dwg, name)) \
2525425258
{ \
25255-
LOG_ERROR ("Invalid symbol table record name \"%s\"\n", name); \
25256-
return NULL; \
25259+
LOG_WARN ("Invalid symbol table record name \"%s\"\n", name); \
25260+
/*return NULL;*/ \
2525725261
} \
2525825262
if (!ctrl || !ctrl->tio.object || !ctrl->tio.object->tio.control) \
2525925263
{ \
@@ -25474,14 +25478,15 @@ dwg_add_GROUP (Dwg_Data *restrict dwg,
2547425478
Dwg_Object *dictobj;
2547525479
Dwg_Object_Ref *groupdict;
2547625480
Dwg_Object *nod = dwg_get_first_object (dwg, DWG_TYPE_DICTIONARY);
25477-
if (name && !dwg_is_valid_name (dwg, name))
25478-
return NULL;
25481+
if (name && !dwg_is_valid_name_u8 (dwg, name))
25482+
LOG_WARN ("Invalid name \"%s\"\n", name);
25483+
//return NULL;
2547925484
{
2548025485
API_ADD_OBJECT (GROUP);
2548125486
if (dwg->header.version <= R_12)
2548225487
{
25483-
LOG_ERROR ("Invalid entity %s <r13", "GROUP")
25484-
API_UNADD_ENTITY;
25488+
LOG_ERROR ("Invalid entity %s <r13", "GROUP");
25489+
API_UNADD_ENTITY;
2548525490
return NULL;
2548625491
}
2548725492
// find nod dict
@@ -25522,8 +25527,9 @@ dwg_add_MLINESTYLE (Dwg_Data *restrict dwg, const char *restrict name)
2552225527
{
2552325528
Dwg_Object_DICTIONARY *dict;
2552425529
Dwg_Object_Ref *dictref;
25525-
if (!dwg_is_valid_name (dwg, name))
25526-
return NULL;
25530+
if (!dwg_is_valid_name_u8 (dwg, name))
25531+
LOG_WARN ("Invalid name \"%s\"\n", name);
25532+
//return NULL;
2552725533
{
2552825534
API_ADD_OBJECT (MLINESTYLE);
2552925535
// find nod dict

0 commit comments

Comments
 (0)