Changeset: b5c080c41cdf for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b5c080c41cdf Modified Files: sql/backends/monet5/vaults/lidar/lidar.c Branch: data-vaults Log Message:
[LiDAR]: Fix bugs with paths See https://github.com/MonetDBSolutions/data-vaults/issues/18 and https://github.com/MonetDBSolutions/data-vaults/issues/16 diffs (30 lines): diff --git a/sql/backends/monet5/vaults/lidar/lidar.c b/sql/backends/monet5/vaults/lidar/lidar.c --- a/sql/backends/monet5/vaults/lidar/lidar.c +++ b/sql/backends/monet5/vaults/lidar/lidar.c @@ -651,12 +651,14 @@ LIDARopenPath(str fname, int *len) { } closedir(dir); ret = (str *)malloc((*len)*sizeof(str)); - path = (str)malloc(strlen(fname) + 256); + /* Maximum file name is 256 + one for the trailing '/' */ + path = (str)malloc(strlen(fname) + 256 + 1); dir = opendir(fname); while((dir_entry = readdir(dir)) != NULL) { if (dir_entry->d_type == DT_REG) { strncpy(path, fname, strlen(fname)); - path[strlen(fname)] = '\0'; + path[strlen(fname)] = DIR_SEP; + path[strlen(fname) + 1] = '\0'; strncat(path, dir_entry->d_name, strlen(dir_entry->d_name)); ret[idx++] = strdup(path); #ifndef NDEBUG @@ -957,6 +959,9 @@ LIDARattach(Client cntxt, MalBlkPtr mb, str filename; double minimumX, maximumX, minimumY, maximumY, minimumZ, maximumZ; + /* Remove the trailing slash if it exists */ + if (fname[strlen(fname) - 1] == '/') + fname[strlen(fname) - 1] = '\0'; switch(pci->argc) { case 2: tname = fname; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list