MCPcopy Create free account
hub / github.com/LAStools/LAStools / cut_characters

Method cut_characters

LASlib/src/laswriter.cpp:1290–1314  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1288#pragma GCC diagnostic ignored "-Wstringop-overflow"
1289#endif
1290void LASwriteOpener::cut_characters() {
1291 if (file_name && cut)
1292 {
1293 size_t len = strlen(file_name);
1294 size_t new_len = (len > cut) ? (len - cut) : 0;
1295 CHAR* new_file_name = (CHAR*)malloc_las(new_len + 5);
1296 while ((len > 0) && (file_name[len] != '.') && (file_name[len] != '\\') && (file_name[len] != '/') && (file_name[len] != ':')) len--;
1297
1298 if (new_file_name)
1299 {
1300 if ((len == 0) || (file_name[len] == '\\') || (file_name[len] == '/') || (file_name[len] == ':'))
1301 {
1302 len = strlen(file_name);
1303 memcpy(new_file_name, file_name, new_len);
1304 }
1305 else
1306 {
1307 strncpy_las(new_file_name, new_len + 5, file_name, new_len);
1308 snprintf(&(new_file_name[new_len]), new_len + 5, "%s", &(file_name[len]));
1309 }
1310 }
1311 free(file_name);
1312 file_name = new_file_name;
1313 }
1314}
1315#ifdef __GNUC__
1316#pragma GCC diagnostic pop
1317#endif

Callers

nothing calls this directly

Calls 2

malloc_lasFunction · 0.85
strncpy_lasFunction · 0.85

Tested by

no test coverage detected