Biancaa-R commented on code in PR #3406:
URL: https://github.com/apache/nuttx-apps/pull/3406#discussion_r2844406459
##########
nshlib/nsh_fscmds.c:
##########
@@ -364,7 +367,126 @@ static int ls_handler(FAR struct nsh_vtbl_s *vtbl, FAR
const char *dirpath,
memset(&buf, 0, sizeof(struct stat));
- /* stat the file */
+ /* If entryp is provided, listing a directory and need to
+ * construct the full path to stat the file. Otherwise, dirpath
+ * is the target itself. (no separate file name as entryp)
+ */
+
+ if (entryp != NULL)
+ {
+ FAR char *fullpath = nsh_getdirpath(vtbl, dirpath, entryp->d_name);
+ ret = stat(fullpath, &buf);
+ free(fullpath);
+ }
+ else
+ {
+ ret = stat(dirpath, &buf);
+ }
+
+#ifdef CONFIG_CLOCK_TIMEKEEPING
+ /* manual epoch time to date calculation to reduce extra memory
+ * by using includes For boards with minimal flash.
+ */
+
+# ifdef CONFIG_ARCH_SIM
+ struct timespec ts;
+
+ /* This pulls the ACTUAL current time from your Linux Host */
+
+ /* Sometime defaults to 2008 */
+
+ if (clock_gettime(CLOCK_REALTIME, &ts) == 0)
+ {
+ clock_settime(CLOCK_REALTIME, &ts);
+ }
+# endif
+
+ /* for referencing /data : if not mounted the reference will fail. */
+
+# if defined(CONFIG_ARCH_SIM) && defined(CONFIG_FS_HOSTFS)
+ static bool g_time_synced = false;
+
+ if (!g_time_synced)
+ {
+ struct stat hstat;
+
+ /* Data section always maintains the current time value. */
+
+ if (stat("/data", &hstat) == 0)
+ {
+ struct timespec ts_sync;
+
+ ts_sync.tv_sec = hstat.st_mtime;
+ ts_sync.tv_nsec = 0;
+
+ /* This is the magic line that sets the system clock */
+
+ if (clock_settime(CLOCK_REALTIME, &ts_sync) == 0)
Review Comment:
No this one tries to set the time of /data section as the time pulled from
the linux host in SIM defaults to 2004/ 2008 ,In case a hostfs is present /data
always takes the accurate time , so I am keeping it as a reference here in this
place.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]