diff --git a/src/s3fs.cpp b/src/s3fs.cpp index c886ddf..20262cc 100644 --- a/src/s3fs.cpp +++ b/src/s3fs.cpp @@ -866,6 +866,10 @@ static int s3fs_readlink(const char* path, char* buf, size_t size) } buf[ressize] = '\0'; + // check buf if it has space words. + string strTmp = trim(string(buf)); + strcpy(buf, strTmp.c_str()); + FdManager::get()->Close(ent); S3FS_MALLOCTRIM(0); @@ -1172,9 +1176,10 @@ static int s3fs_symlink(const char* from, const char* to) S3FS_PRN_ERR("could not open tmpfile(errno=%d)", errno); return -errno; } - // write - ssize_t from_size = strlen(from); - if(from_size != ent->Write(from, 0, from_size)){ + // write(without space words) + string strFrom = trim(string(from)); + ssize_t from_size = static_cast(strFrom.length()); + if(from_size != ent->Write(strFrom.c_str(), 0, from_size)){ S3FS_PRN_ERR("could not write tmpfile(errno=%d)", errno); FdManager::get()->Close(ent); return -errno;