memset(pAppletData->fullpath,0,PHOTO_MAX_PATH); sprintf(pAppletData->fullpath,"%s%s",pAppletData->selectpath,entry->d_name);
if(pAppletData->filepStat == ListHead) { //creat pS =(FiledataNode *)OS_Malloc(sizeof(FiledataNode)); pS->next = NULL; pS->index = index; //get entry data strcpy(pS->fullpath,pAppletData->fullpath); // strcat(pS->fullpath,entry->d_name); // OS_TaskDelay(10); #ifdef WIN32 pS->datetime = i%8; sprintf(pS->datetime_name, "%d-%d-%d",i%8,i%8,i%8);
#else
ufs_stat(pAppletData->fullpath, &f_stat); filedate = f_stat.st_mtime; AF_PRINTF("fullpath: %s, /r/nyear(%d), month(%d), date(%d) /r/n",pAppletData->fullpath,(1980 + filedate.year),filedate.month,filedate.day); pS->datetime = 19800000 + filedate.year*10000 + filedate.month*100 + filedate.day; AF_PRINTF("----------------------------name =%s index =%d/n",pS->fullpath,pS->index); sprintf(pS->datetime_name, "%d-%d-%d",(1980 + filedate.year),filedate.month,filedate.day); #endif
// strcpy(pS->datetime_name,pAppletData->pSVirtualDirArray->datetime_name);
pSVirtualDirArray = (VirtualDirArray *)OS_Malloc(sizeof(VirtualDirArray)); pSVirtualDirArray->next = NULL; pHeadVirtualDirArray = pSVirtualDirArray; pSVirtualDirArray->childNode = pS; pSVirtualDirArray->datetime = pS->datetime; strcpy(pSVirtualDirArray->datetime_name,pS->datetime_name);
pAppletData->nfilesCount++; pAppletData->totalEntriesCount++; pAppletData->filepStat = ListBody; } else //Body { pS =(FiledataNode *)OS_Malloc(sizeof(FiledataNode)); pS->next = NULL; pS->index = index; //get fullpath and Time data strcpy(pS->fullpath,pAppletData->fullpath); // strcat(pS->fullpath,entry->d_name); //OS_TaskDelay(10); // AF_PRINTF("----------------------------name =%s index =%d/n",pS->fullpath,pS->index); #ifdef WIN32 pS->datetime = i%8; sprintf(pS->datetime_name, "%d-%d-%d",i%8,i%8,i%8); #else
ufs_stat(pAppletData->fullpath, &f_stat); filedate = f_stat.st_mtime; AF_PRINTF("fullpath: %s, /r/nyear(%d), month(%d), date(%d) /r/n",pAppletData->fullpath,(1980 + filedate.year),filedate.month,filedate.day); pS->datetime = 19800000 + filedate.year*10000 + filedate.month*100 + filedate.day; AF_PRINTF("----------------------------name =%s index =%d/n",pS->fullpath,pS->index); sprintf(pS->datetime_name, "%d-%d-%d",(1980 + filedate.year),filedate.month,filedate.day); #endif pSVirtualDirArray = pHeadVirtualDirArray; findout = FALSE; while(pSVirtualDirArray->next != NULL) { //time same
if (pSVirtualDirArray->datetime == pS->datetime)
{ FiledataNode *temp; temp = pSVirtualDirArray->childNode; pSVirtualDirArray->childNode = pS; pS->next = temp; findout = TRUE; break; } pSVirtualDirArray = pSVirtualDirArray->next; } //the last one if(pSVirtualDirArray->next == NULL) { if (pSVirtualDirArray->datetime == pS->datetime) { FiledataNode *temp; temp = pSVirtualDirArray->childNode; pSVirtualDirArray->childNode = pS; pS->next = temp; findout = TRUE; } } if(findout != TRUE) { pSVirtualDirArray->next = (VirtualDirArray *)OS_Malloc(sizeof(VirtualDirArray)); pSVirtualDirArray = pSVirtualDirArray->next; pSVirtualDirArray->next = NULL; pSVirtualDirArray->childNode = pS; pSVirtualDirArray->datetime = pS->datetime; strcpy(pSVirtualDirArray->datetime_name,pS->datetime_name); AF_PRINTF("fullpath: %s/r/n",pAppletData->fullpath);
} pAppletData->nfilesCount++; pAppletData->totalEntriesCount++; pAppletData->filepStat = ListBody; } // if (pAppletData->nfilesCount==pAppletData->nfiles) if ((i + 1) ==(pAppletData->totalEntries-1)) { VirtualfolderSort(pHeadVirtualDirArray); pAppletData->pHeadVirtualDirArray = pHeadVirtualDirArray; pSVirtualDirArray = pHeadVirtualDirArray; //count how many virual dir is. for ( pAppletData->nVirualdirs = 0;pSVirtualDirArray != NULL;pAppletData->nVirualdirs++) { pSVirtualDirArray = pSVirtualDirArray->next; } }