Loading sql/sql_db.cc +14 −13 Original line number Diff line number Diff line Loading @@ -271,20 +271,20 @@ static long mysql_rm_known_files(THD *thd, MY_DIR *dirp, const char *org_path, */ if (!found_other_files) { char tmp_path[FN_REFLEN], lnk_path[FN_REFLEN]; char tmp_path[FN_REFLEN], *pos; char *path=unpack_filename(tmp_path,org_path); #ifdef HAVE_READLINK if (path[0] == FN_CURLIB) { int length = (strxmov(lnk_path,curr_dir,path + 2, NullS) - lnk_path) - 1; path=lnk_path; if (path[length] == FN_LIBCHAR) path[length]='\0'; } int linkcount = readlink(path,filePath,sizeof(filePath)-1); if (linkcount > 0) // If the path was a symbolic link int error; /* Remove end FN_LIBCHAR as this causes problem on Linux in readlink */ pos=strend(path); if (pos > path && pos[-1] == FN_LIBCHAR) *--pos=0; if ((error=my_readlink(filePath, path, MYF(MY_WME))) < 0) DBUG_RETURN(-1); if (!error) { *(filePath + linkcount) = '\0'; if (my_delete(path,MYF(!level ? MY_WME : 0))) { /* Don't give errors if we can't delete 'RAID' directory */ Loading @@ -293,11 +293,12 @@ static long mysql_rm_known_files(THD *thd, MY_DIR *dirp, const char *org_path, send_error(&thd->net); DBUG_RETURN(-1); } /* Delete directory symbolic link pointed at */ path= filePath; } #endif /* Remove last FN_LIBCHAR to not cause a probelm on OS/2 */ char *pos=strend(path); pos=strend(path); if (pos > path && pos[-1] == FN_LIBCHAR) *--pos=0; /* Don't give errors if we can't delete 'RAID' directory */ Loading Loading
sql/sql_db.cc +14 −13 Original line number Diff line number Diff line Loading @@ -271,20 +271,20 @@ static long mysql_rm_known_files(THD *thd, MY_DIR *dirp, const char *org_path, */ if (!found_other_files) { char tmp_path[FN_REFLEN], lnk_path[FN_REFLEN]; char tmp_path[FN_REFLEN], *pos; char *path=unpack_filename(tmp_path,org_path); #ifdef HAVE_READLINK if (path[0] == FN_CURLIB) { int length = (strxmov(lnk_path,curr_dir,path + 2, NullS) - lnk_path) - 1; path=lnk_path; if (path[length] == FN_LIBCHAR) path[length]='\0'; } int linkcount = readlink(path,filePath,sizeof(filePath)-1); if (linkcount > 0) // If the path was a symbolic link int error; /* Remove end FN_LIBCHAR as this causes problem on Linux in readlink */ pos=strend(path); if (pos > path && pos[-1] == FN_LIBCHAR) *--pos=0; if ((error=my_readlink(filePath, path, MYF(MY_WME))) < 0) DBUG_RETURN(-1); if (!error) { *(filePath + linkcount) = '\0'; if (my_delete(path,MYF(!level ? MY_WME : 0))) { /* Don't give errors if we can't delete 'RAID' directory */ Loading @@ -293,11 +293,12 @@ static long mysql_rm_known_files(THD *thd, MY_DIR *dirp, const char *org_path, send_error(&thd->net); DBUG_RETURN(-1); } /* Delete directory symbolic link pointed at */ path= filePath; } #endif /* Remove last FN_LIBCHAR to not cause a probelm on OS/2 */ char *pos=strend(path); pos=strend(path); if (pos > path && pos[-1] == FN_LIBCHAR) *--pos=0; /* Don't give errors if we can't delete 'RAID' directory */ Loading