Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int dump_dir(void *pClient, void *pCmd, char *path, void * pBuffer, int size,int error, int handle)
- {
- int dir_handle = handle;
- int my_handle = handle +1;
- int ret = 0;
- int final_result = 0;
- if ((ret = FSOpenDir(pClient, pCmd, path, &dir_handle, FS_RET_ALL_ERROR)) == FS_STATUS_OK)
- {
- FSDirEntry dir_entry;
- while (FSReadDir(pClient, pCmd, dir_handle, &dir_entry, FS_RET_ALL_ERROR) == FS_STATUS_OK && final_result == 0)
- {
- char full_path[strlen(path) + 1 + strlen(dir_entry.name) +1];
- if((dir_entry.stat.flag&FS_STAT_FLAG_IS_DIRECTORY) == FS_STAT_FLAG_IS_DIRECTORY)
- {
- log_string(socket_log, "-> dir", BYTE_LOG_STR);
- if(dump_dir(pClient, pCmd,full_path,pBuffer,size,error,my_handle) == -1)
- {
- final_result = -1;
- }
- }
- else
- {
- ret = FSOpenFile(pClient, pCmd, full_path, "r", &my_handle, error);
- if (ret >= 0)
- {
- }
- else
- {
- final_result = -1;
- }
- }
- }
- if(FSCloseDir(pClient, pCmd, dir_handle, error) < FS_STATUS_OK)
- {
- if(DEBUG_LOG) log_string(socket_log, "error on FSCloseDir()", BYTE_LOG_STR);
- }
- }
- else
- {
- log_string(socket_log, "error on FSOpenDir()", BYTE_LOG_STR);
- final_result = -1;
- }
- return final_result;
- }
Add Comment
Please, Sign In to add comment