Browse Source

[example] 格式化整理

Meco Man 4 years ago
parent
commit
08af426f01

+ 1 - 1
examples/file/listdir.c

@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2006-2020, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
  *
  *
  * SPDX-License-Identifier: Apache-2.0
  * SPDX-License-Identifier: Apache-2.0
  *
  *

+ 3 - 3
examples/file/readspeed.c

@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2006-2020, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
  *
  *
  * SPDX-License-Identifier: Apache-2.0
  * SPDX-License-Identifier: Apache-2.0
  *
  *
@@ -46,9 +46,9 @@ void readspeed(const char* filename, int block_size)
     }
     }
     tick = rt_tick_get() - tick;
     tick = rt_tick_get() - tick;
 
 
-	/* close file and release memory */
+    /* close file and release memory */
     close(fd);
     close(fd);
-	rt_free(buff_ptr);
+    rt_free(buff_ptr);
 
 
     /* calculate read speed */
     /* calculate read speed */
     rt_kprintf("File read speed: %d byte/s\n", total_length /tick * RT_TICK_PER_SECOND);
     rt_kprintf("File read speed: %d byte/s\n", total_length /tick * RT_TICK_PER_SECOND);

+ 104 - 104
examples/file/readwrite.c

@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2006-2020, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
  *
  *
  * SPDX-License-Identifier: Apache-2.0
  * SPDX-License-Identifier: Apache-2.0
  *
  *
@@ -17,21 +17,21 @@
 /* file read write test */
 /* file read write test */
 void readwrite(const char* filename)
 void readwrite(const char* filename)
 {
 {
-	int fd;
-	int index, length;
-	char* test_data;
-	char* buffer;
-	int block_size = TEST_DATA_LEN;
-
-	/* open with write only & create */
-	fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0);
-	if (fd < 0)
-	{
-		rt_kprintf("open file for write failed\n");
-		return;
-	}
-
-	test_data = rt_malloc(block_size);
+    int fd;
+    int index, length;
+    char* test_data;
+    char* buffer;
+    int block_size = TEST_DATA_LEN;
+
+    /* open with write only & create */
+    fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0);
+    if (fd < 0)
+    {
+        rt_kprintf("open file for write failed\n");
+        return;
+    }
+
+    test_data = rt_malloc(block_size);
     if (test_data == RT_NULL)
     if (test_data == RT_NULL)
     {
     {
         rt_kprintf("no memory\n");
         rt_kprintf("no memory\n");
@@ -48,94 +48,94 @@ void readwrite(const char* filename)
         return;
         return;
     }
     }
 
 
-	/* prepare some data */
-	for (index = 0; index < block_size; index ++)
-	{
-		test_data[index] = index + 27;
-	}
-
-	/* write to file */
-	length = write(fd, test_data, block_size);
-	if (length != block_size)
-	{
-		rt_kprintf("write data failed\n");
-		close(fd);
-		goto __exit;
-	}
-
-	/* close file */
-	close(fd);
-
-	/* reopen the file with append to the end */
-	fd = open(filename, O_WRONLY | O_CREAT | O_APPEND, 0);
-	if (fd < 0)
-	{
-		rt_kprintf("open file for append write failed\n");
-		goto __exit;;
-	}
-
-	length = write(fd, test_data, block_size);
-	if (length != block_size)
-	{
-		rt_kprintf("append write data failed\n");
-		close(fd);
-		goto __exit;
-	}
-	/* close the file */
-	close(fd);
-
-	/* open the file for data validation. */
-	fd = open(filename, O_RDONLY, 0);
-	if (fd < 0)
-	{
-		rt_kprintf("check: open file for read failed\n");
-		goto __exit;
-	}
-
-	/* read the data (should be the data written by the first time ) */
-	length = read(fd, buffer, block_size);
-	if (length != block_size)
-	{
-		rt_kprintf("check: read file failed\n");
-		close(fd);
-		goto __exit;
-	}
-
-	/* validate */
-	for (index = 0; index < block_size; index ++)
-	{
-		if (test_data[index] != buffer[index])
-		{
-			rt_kprintf("check: check data failed at %d\n", index);
-			close(fd);
-			goto __exit;
-		}
-	}
-
-	/* read the data (should be the second time data) */
-	length = read(fd, buffer, block_size);
-	if (length != block_size)
-	{
-		rt_kprintf("check: read file failed\n");
-		close(fd);
-		goto __exit;
-	}
-
-	/* validate */
-	for (index = 0; index < block_size; index ++)
-	{
-		if (test_data[index] != buffer[index])
-		{
-			rt_kprintf("check: check data failed at %d\n", index);
-			close(fd);
-			goto __exit;
-		}
-	}
-
-	/* close the file */
-	close(fd);
-	/* print result */
-	rt_kprintf("read/write test successful!\n");
+    /* prepare some data */
+    for (index = 0; index < block_size; index ++)
+    {
+        test_data[index] = index + 27;
+    }
+
+    /* write to file */
+    length = write(fd, test_data, block_size);
+    if (length != block_size)
+    {
+        rt_kprintf("write data failed\n");
+        close(fd);
+        goto __exit;
+    }
+
+    /* close file */
+    close(fd);
+
+    /* reopen the file with append to the end */
+    fd = open(filename, O_WRONLY | O_CREAT | O_APPEND, 0);
+    if (fd < 0)
+    {
+        rt_kprintf("open file for append write failed\n");
+        goto __exit;;
+    }
+
+    length = write(fd, test_data, block_size);
+    if (length != block_size)
+    {
+        rt_kprintf("append write data failed\n");
+        close(fd);
+        goto __exit;
+    }
+    /* close the file */
+    close(fd);
+
+    /* open the file for data validation. */
+    fd = open(filename, O_RDONLY, 0);
+    if (fd < 0)
+    {
+        rt_kprintf("check: open file for read failed\n");
+        goto __exit;
+    }
+
+    /* read the data (should be the data written by the first time ) */
+    length = read(fd, buffer, block_size);
+    if (length != block_size)
+    {
+        rt_kprintf("check: read file failed\n");
+        close(fd);
+        goto __exit;
+    }
+
+    /* validate */
+    for (index = 0; index < block_size; index ++)
+    {
+        if (test_data[index] != buffer[index])
+        {
+            rt_kprintf("check: check data failed at %d\n", index);
+            close(fd);
+            goto __exit;
+        }
+    }
+
+    /* read the data (should be the second time data) */
+    length = read(fd, buffer, block_size);
+    if (length != block_size)
+    {
+        rt_kprintf("check: read file failed\n");
+        close(fd);
+        goto __exit;
+    }
+
+    /* validate */
+    for (index = 0; index < block_size; index ++)
+    {
+        if (test_data[index] != buffer[index])
+        {
+            rt_kprintf("check: check data failed at %d\n", index);
+            close(fd);
+            goto __exit;
+        }
+    }
+
+    /* close the file */
+    close(fd);
+    /* print result */
+    rt_kprintf("read/write test successful!\n");
 
 
 __exit:
 __exit:
     rt_free(test_data);
     rt_free(test_data);

+ 26 - 26
examples/file/seekdir.c

@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2006-2020, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
  *
  *
  * SPDX-License-Identifier: Apache-2.0
  * SPDX-License-Identifier: Apache-2.0
  *
  *
@@ -12,35 +12,35 @@
 
 
 void seekdir_test(void)
 void seekdir_test(void)
 {
 {
-	DIR * dirp;
-	long save3 = 0;
-	int i = 0;
-	struct dirent *dp;
+    DIR * dirp;
+    long save3 = 0;
+    int i = 0;
+    struct dirent *dp;
 
 
-	dirp = opendir ("/");
-	save3 = telldir(dirp);
-	for (dp = readdir(dirp); dp != RT_NULL; dp = readdir(dirp))
-	{
-		rt_kprintf("direntry: %s\n", dp->d_name);
+    dirp = opendir ("/");
+    save3 = telldir(dirp);
+    for (dp = readdir(dirp); dp != RT_NULL; dp = readdir(dirp))
+    {
+        rt_kprintf("direntry: %s\n", dp->d_name);
 
 
-		/* save the pointer of the third directory */
-		if (i++ == 3)
-		{
-			save3 = telldir(dirp);
-		}
-	}
+        /* save the pointer of the third directory */
+        if (i++ == 3)
+        {
+            save3 = telldir(dirp);
+        }
+    }
 
 
-	/* get back to the third directory */
-	seekdir (dirp, save3);
-	rt_kprintf("seek dientry to: %d\n", save3);
-	for (dp = readdir(dirp); dp != RT_NULL; dp = readdir(dirp))
-	{
-		rt_kprintf("direntry: %s\n", dp->d_name);
-	}
+    /* get back to the third directory */
+    seekdir (dirp, save3);
+    rt_kprintf("seek dientry to: %d\n", save3);
+    for (dp = readdir(dirp); dp != RT_NULL; dp = readdir(dirp))
+    {
+        rt_kprintf("direntry: %s\n", dp->d_name);
+    }
 
 
-	/* close the directory */
-	closedir (dirp);
-} 
+    /* close the directory */
+    closedir (dirp);
+}
 
 
 #ifdef RT_USING_FINSH
 #ifdef RT_USING_FINSH
 #include <finsh.h>
 #include <finsh.h>

+ 1 - 1
examples/file/writespeed.c

@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2006-2020, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
  *
  *
  * SPDX-License-Identifier: Apache-2.0
  * SPDX-License-Identifier: Apache-2.0
  *
  *

+ 1 - 1
examples/kernel/tc_comm.h

@@ -1,7 +1,7 @@
 #ifndef __TC_COMM_H__
 #ifndef __TC_COMM_H__
 #define __TC_COMM_H__
 #define __TC_COMM_H__
 
 
-/* 
+/*
  * RT-Thread TestCase
  * RT-Thread TestCase
  *
  *
  */
  */

+ 1 - 1
examples/kernel/timer_control.c

@@ -14,7 +14,7 @@ static rt_uint8_t count;
 static void timeout1(void* parameter)
 static void timeout1(void* parameter)
 {
 {
     rt_tick_t timeout = 50;
     rt_tick_t timeout = 50;
-    
+
     rt_kprintf("periodic timer is timeout\n");
     rt_kprintf("periodic timer is timeout\n");
 
 
     count ++;
     count ++;

+ 34 - 34
examples/kernel/timer_timeout.c

@@ -1,21 +1,21 @@
 /*
 /*
- * 程序清单:消息队列例程
+ * 绋嬪簭娓呭崟锛氭秷鎭�槦鍒椾緥绋�
  *
  *
- * 这个程序会创建3个动态线程,一个线程会从消息队列中收取消息;一个线程会定时给消
- * 息队列发送消息;一个线程会定时给消息队列发送紧急消息。
+ * 杩欎釜绋嬪簭浼氬垱寤�3涓�姩鎬佺嚎绋嬶紝涓€涓�嚎绋嬩細浠庢秷鎭�槦鍒椾腑鏀跺彇娑堟伅锛涗竴涓�嚎绋嬩細瀹氭椂缁欐秷
+ * 鎭�槦鍒楀彂閫佹秷鎭�紱涓€涓�嚎绋嬩細瀹氭椂缁欐秷鎭�槦鍒楀彂閫佺揣鎬ユ秷鎭�€�
  */
  */
 #include <rtthread.h>
 #include <rtthread.h>
 #include "tc_comm.h"
 #include "tc_comm.h"
 
 
-/* 指向线程控制块的指针 */
+/* 鎸囧悜绾跨▼鎺у埗鍧楃殑鎸囬拡 */
 static rt_thread_t tid = RT_NULL;
 static rt_thread_t tid = RT_NULL;
 
 
-/* 消息队列控制块 */
+/* 娑堟伅闃熷垪鎺у埗鍧� */
 static struct rt_messagequeue mq;
 static struct rt_messagequeue mq;
-/* 消息队列中用到的放置消息的内存池 */
+/* 娑堟伅闃熷垪涓�敤鍒扮殑鏀剧疆娑堟伅鐨勫唴瀛樻睜 */
 static char msg_pool[2048];
 static char msg_pool[2048];
 
 
-/* 定时器的控制块 */
+/* 瀹氭椂鍣ㄧ殑鎺у埗鍧� */
 static struct rt_timer timer;
 static struct rt_timer timer;
 static rt_uint16_t no = 0;
 static rt_uint16_t no = 0;
 static void timer_timeout(void* parameter)
 static void timer_timeout(void* parameter)
@@ -27,24 +27,24 @@ static void timer_timeout(void* parameter)
     rt_mq_send(&mq, &buf[0], length);
     rt_mq_send(&mq, &buf[0], length);
 }
 }
 
 
-/* 线程入口函数 */
+/* 绾跨▼鍏ュ彛鍑芥暟 */
 static void thread_entry(void* parameter)
 static void thread_entry(void* parameter)
 {
 {
     char buf[64];
     char buf[64];
     rt_err_t result;
     rt_err_t result;
 
 
-    /* 初始化定时器 */
-    rt_timer_init(&timer, "timer",  /* 定时器名字是 timer1 */
-        timer_timeout, /* 超时时回调的处理函数 */
-        RT_NULL, /* 超时函数的入口参数 */
-        1, /* 定时长度,以OS Tick为单位,即1个OS Tick */
-        RT_TIMER_FLAG_PERIODIC); /* 周期性定时器 */
+    /* 鍒濆�鍖栧畾鏃跺櫒 */
+    rt_timer_init(&timer, "timer",  /* 瀹氭椂鍣ㄥ悕瀛楁槸 timer1 */
+        timer_timeout, /* 瓒呮椂鏃跺洖璋冪殑澶勭悊鍑芥暟 */
+        RT_NULL, /* 瓒呮椂鍑芥暟鐨勫叆鍙e弬鏁� */
+        1, /* 瀹氭椂闀垮害锛屼互OS Tick涓哄崟浣嶏紝鍗�1涓狾S Tick */
+        RT_TIMER_FLAG_PERIODIC); /* 鍛ㄦ湡鎬у畾鏃跺櫒 */
 
 
     while (1)
     while (1)
     {
     {
         rt_memset(&buf[0], 0, sizeof(buf));
         rt_memset(&buf[0], 0, sizeof(buf));
 
 
-        /* 从消息队列中接收消息 */
+        /* 浠庢秷鎭�槦鍒椾腑鎺ユ敹娑堟伅 */
         result = rt_mq_recv(&mq, &buf[0], sizeof(buf), 1);
         result = rt_mq_recv(&mq, &buf[0], sizeof(buf), 1);
         if (result == RT_EOK)
         if (result == RT_EOK)
         {
         {
@@ -59,16 +59,16 @@ static void thread_entry(void* parameter)
 
 
 int timer_timeout_init()
 int timer_timeout_init()
 {
 {
-    /* 初始化消息队列 */
-    rt_mq_init(&mq, "mqt", 
-        &msg_pool[0], /* 内存池指向msg_pool */ 
-        128 - sizeof(void*), /* 每个消息的大小是 128 - void* */
-        sizeof(msg_pool), /* 内存池的大小是msg_pool的大小 */
-        RT_IPC_FLAG_FIFO); /* 如果有多个线程等待,按照先来先得到的方法分配消息 */
-
-    /* 创建线程 */
+    /* 鍒濆�鍖栨秷鎭�槦鍒� */
+    rt_mq_init(&mq, "mqt",
+        &msg_pool[0], /* 鍐呭瓨姹犳寚鍚憁sg_pool */
+        128 - sizeof(void*), /* 姣忎釜娑堟伅鐨勫ぇ灏忔槸 128 - void* */
+        sizeof(msg_pool), /* 鍐呭瓨姹犵殑澶у皬鏄痬sg_pool鐨勫ぇ灏� */
+        RT_IPC_FLAG_FIFO); /* 濡傛灉鏈夊�涓�嚎绋嬬瓑寰咃紝鎸夌収鍏堟潵鍏堝緱鍒扮殑鏂规硶鍒嗛厤娑堟伅 */
+
+    /* 鍒涘缓绾跨▼ */
     tid = rt_thread_create("t",
     tid = rt_thread_create("t",
-        thread_entry, RT_NULL, /* 线程入口是thread_entry, 入口参数是RT_NULL */
+        thread_entry, RT_NULL, /* 绾跨▼鍏ュ彛鏄痶hread_entry, 鍏ュ彛鍙傛暟鏄疪T_NULL */
         THREAD_STACK_SIZE, THREAD_PRIORITY, THREAD_TIMESLICE);
         THREAD_STACK_SIZE, THREAD_PRIORITY, THREAD_TIMESLICE);
     if (tid != RT_NULL)
     if (tid != RT_NULL)
         rt_thread_startup(tid);
         rt_thread_startup(tid);
@@ -81,38 +81,38 @@ int timer_timeout_init()
 #ifdef RT_USING_TC
 #ifdef RT_USING_TC
 static void _tc_cleanup()
 static void _tc_cleanup()
 {
 {
-    /* 调度器上锁,上锁后,将不再切换到其他线程,仅响应中断 */
+    /* 璋冨害鍣ㄤ笂閿侊紝涓婇攣鍚庯紝灏嗕笉鍐嶅垏鎹㈠埌鍏朵粬绾跨▼锛屼粎鍝嶅簲涓�柇 */
     rt_enter_critical();
     rt_enter_critical();
 
 
-    /* 删除线程 */
+    /* 鍒犻櫎绾跨▼ */
     if (tid != RT_NULL && tid->stat != RT_THREAD_CLOSE)
     if (tid != RT_NULL && tid->stat != RT_THREAD_CLOSE)
         rt_thread_delete(tid);
         rt_thread_delete(tid);
 
 
-    /* 执行消息队列对象脱离 */
+    /* 鎵ц�娑堟伅闃熷垪瀵硅薄鑴辩� */
     rt_mq_detach(&mq);
     rt_mq_detach(&mq);
-    /* 执行定时器脱离 */
+    /* 鎵ц�瀹氭椂鍣ㄨ劚绂� */
     rt_timer_detach(&timer);
     rt_timer_detach(&timer);
 
 
-    /* 调度器解锁 */
+    /* 璋冨害鍣ㄨВ閿� */
     rt_exit_critical();
     rt_exit_critical();
 
 
-    /* 设置TestCase状态 */
+    /* 璁剧疆TestCase鐘舵€� */
     tc_done(TC_STAT_PASSED);
     tc_done(TC_STAT_PASSED);
 }
 }
 
 
 int _tc_timer_timeout()
 int _tc_timer_timeout()
 {
 {
-    /* 设置TestCase清理回调函数 */
+    /* 璁剧疆TestCase娓呯悊鍥炶皟鍑芥暟 */
     tc_cleanup(_tc_cleanup);
     tc_cleanup(_tc_cleanup);
     timer_timeout_init();
     timer_timeout_init();
 
 
-    /* 返回TestCase运行的最长时间 */
+    /* 杩斿洖TestCase杩愯�鐨勬渶闀挎椂闂� */
     return 100;
     return 100;
 }
 }
-/* 输出函数命令到finsh shell中 */
+/* 杈撳嚭鍑芥暟鍛戒护鍒癴insh shell涓� */
 FINSH_FUNCTION_EXPORT(_tc_timer_timeout, a thread timer testcase);
 FINSH_FUNCTION_EXPORT(_tc_timer_timeout, a thread timer testcase);
 #else
 #else
-/* 用户应用入口 */
+/* 鐢ㄦ埛搴旂敤鍏ュ彛 */
 int rt_application_init()
 int rt_application_init()
 {
 {
     timer_timeout_init();
     timer_timeout_init();

+ 41 - 41
examples/libc/dirent.c

@@ -11,46 +11,46 @@
 #include <dirent.h>
 #include <dirent.h>
 int libc_dirent()
 int libc_dirent()
 {
 {
-	DIR * dirp;
-	long int save3 = 0;
-	long int cur;
-	int i = 0;
-	int result = 0;
-	struct dirent *dp;
-
-	dirp = opendir("/");
-	for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp))
-	{
-		/* save position 3 (after fourth entry) */
-		if (i++ == 3)
-			save3 = telldir(dirp);
-
-		printf("%s\n", dp->d_name);
-
-		/* stop at 400 (just to make sure dirp->__offset and dirp->__size are
-		 scrambled */
-		if (i == 400)
-			break;
-	}
-
-	printf("going back past 4-th entry...\n");
-
-	/* go back to saved entry */
-	seekdir(dirp, save3);
-
-	/* Check whether telldir equals to save3 now.  */
-	cur = telldir(dirp);
-	if (cur != save3)
-	{
-		printf("seekdir (d, %ld); telldir (d) == %ld\n", save3, cur);
-		result = 1;
-	}
-
-	/* print remaining files (3-last) */
-	for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp))
-		printf("%s\n", dp->d_name);
-
-	closedir(dirp);
-	return result;
+    DIR * dirp;
+    long int save3 = 0;
+    long int cur;
+    int i = 0;
+    int result = 0;
+    struct dirent *dp;
+
+    dirp = opendir("/");
+    for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp))
+    {
+        /* save position 3 (after fourth entry) */
+        if (i++ == 3)
+            save3 = telldir(dirp);
+
+        printf("%s\n", dp->d_name);
+
+        /* stop at 400 (just to make sure dirp->__offset and dirp->__size are
+         scrambled */
+        if (i == 400)
+            break;
+    }
+
+    printf("going back past 4-th entry...\n");
+
+    /* go back to saved entry */
+    seekdir(dirp, save3);
+
+    /* Check whether telldir equals to save3 now.  */
+    cur = telldir(dirp);
+    if (cur != save3)
+    {
+        printf("seekdir (d, %ld); telldir (d) == %ld\n", save3, cur);
+        result = 1;
+    }
+
+    /* print remaining files (3-last) */
+    for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp))
+        printf("%s\n", dp->d_name);
+
+    closedir(dirp);
+    return result;
 }
 }
 FINSH_FUNCTION_EXPORT(libc_dirent, dirent test for libc);
 FINSH_FUNCTION_EXPORT(libc_dirent, dirent test for libc);

+ 4 - 4
examples/libc/env.c

@@ -10,9 +10,9 @@
 
 
 int libc_env()
 int libc_env()
 {
 {
-	printf("PATH=%s\n", getenv("PATH"));
-	putenv("foo=bar");
-	printf("foo=%s\n", getenv("foo"));
-	return 0;
+    printf("PATH=%s\n", getenv("PATH"));
+    putenv("foo=bar");
+    printf("foo=%s\n", getenv("foo"));
+    return 0;
 }
 }
 FINSH_FUNCTION_EXPORT(libc_env, get/set_env test);
 FINSH_FUNCTION_EXPORT(libc_env, get/set_env test);

+ 17 - 17
examples/libc/ex1.c

@@ -9,29 +9,29 @@
 
 
 static void *process(void * arg)
 static void *process(void * arg)
 {
 {
-	int i;
-	printf("Starting process %s\n", (char *)arg);
-	for (i = 0; i < 10000; i++)
-		write(1, (char *) arg, 1);
-	return NULL;
+    int i;
+    printf("Starting process %s\n", (char *)arg);
+    for (i = 0; i < 10000; i++)
+        write(1, (char *) arg, 1);
+    return NULL;
 }
 }
 
 
 #define sucfail(r) (r != 0 ? "failed" : "succeeded")
 #define sucfail(r) (r != 0 ? "failed" : "succeeded")
 int libc_ex1(void)
 int libc_ex1(void)
 {
 {
-	int pret, ret = 0;
-	pthread_t th_a, th_b;
-	void *retval;
+    int pret, ret = 0;
+    pthread_t th_a, th_b;
+    void *retval;
 
 
-	ret += (pret = pthread_create(&th_a, NULL, process, (void *)"a"));
-	printf("create a %s %d\n", sucfail(pret), pret);
-	ret += (pret = pthread_create(&th_b, NULL, process, (void *)"b"));
-	printf("create b %s %d\n", sucfail(pret), pret);
-	ret += (pret = pthread_join(th_a, &retval));
-	printf("join a %s %d\n", sucfail(pret), pret);
-	ret += (pret = pthread_join(th_b, &retval));
-	printf("join b %s %d\n", sucfail(pret), pret);
-	return ret;
+    ret += (pret = pthread_create(&th_a, NULL, process, (void *)"a"));
+    printf("create a %s %d\n", sucfail(pret), pret);
+    ret += (pret = pthread_create(&th_b, NULL, process, (void *)"b"));
+    printf("create b %s %d\n", sucfail(pret), pret);
+    ret += (pret = pthread_join(th_a, &retval));
+    printf("join a %s %d\n", sucfail(pret), pret);
+    ret += (pret = pthread_join(th_b, &retval));
+    printf("join b %s %d\n", sucfail(pret), pret);
+    return ret;
 }
 }
 #include <finsh.h>
 #include <finsh.h>
 FINSH_FUNCTION_EXPORT(libc_ex1, example 1 for libc);
 FINSH_FUNCTION_EXPORT(libc_ex1, example 1 for libc);

+ 19 - 19
examples/libc/ex6.c

@@ -7,31 +7,31 @@
 #define usleep rt_thread_sleep
 #define usleep rt_thread_sleep
 
 
 static void *test_thread(void *v_param) {
 static void *test_thread(void *v_param) {
-	return NULL;
+    return NULL;
 }
 }
 
 
 int libc_ex6(void) {
 int libc_ex6(void) {
-	unsigned long count;
+    unsigned long count;
 
 
-	setvbuf(stdout, NULL, _IONBF, 0);
+    setvbuf(stdout, NULL, _IONBF, 0);
 
 
-	for (count = 0; count < 2000; ++count) {
-		pthread_t thread;
-		int status;
+    for (count = 0; count < 2000; ++count) {
+        pthread_t thread;
+        int status;
 
 
-		status = pthread_create(&thread, NULL, test_thread, NULL);
-		if (status != 0) {
-			printf("status = %d, count = %lu: %s\n", status, count, strerror(
-					errno));
-			return 1;
-		} else {
-			printf("count = %lu\n", count);
-		}
-		/* pthread_detach (thread); */
-		pthread_join(thread, NULL);
-		usleep(10);
-	}
-	return 0;
+        status = pthread_create(&thread, NULL, test_thread, NULL);
+        if (status != 0) {
+            printf("status = %d, count = %lu: %s\n", status, count, strerror(
+                    errno));
+            return 1;
+        } else {
+            printf("count = %lu\n", count);
+        }
+        /* pthread_detach (thread); */
+        pthread_join(thread, NULL);
+        usleep(10);
+    }
+    return 0;
 }
 }
 #include <finsh.h>
 #include <finsh.h>
 FINSH_FUNCTION_EXPORT(libc_ex6, example 6 for libc);
 FINSH_FUNCTION_EXPORT(libc_ex6, example 6 for libc);

+ 73 - 73
examples/libc/ex7.c

@@ -14,88 +14,88 @@
 
 
 /* Our event variable using a condition variable contruct. */
 /* Our event variable using a condition variable contruct. */
 typedef struct {
 typedef struct {
-	pthread_mutex_t mutex;
-	pthread_cond_t cond;
-	int flag;
+    pthread_mutex_t mutex;
+    pthread_cond_t cond;
+    int flag;
 } event_t;
 } event_t;
 
 
 /* Global event to signal main thread the timeout of the child thread. */
 /* Global event to signal main thread the timeout of the child thread. */
 event_t main_event;
 event_t main_event;
 
 
 static void *test_thread(void *ms_param) {
 static void *test_thread(void *ms_param) {
-	int status = 0;
-	event_t foo;
-	struct timespec time;
-	struct timeval now;
-	long ms = (long) ms_param;
-
-	/* initialize cond var */
-	pthread_cond_init(&foo.cond, NULL);
-	pthread_mutex_init(&foo.mutex, NULL);
-	foo.flag = 0;
-
-	/* set the time out value */
-	printf("waiting %ld ms ...\n", ms);
-	gettimeofday(&now, NULL);
-	time.tv_sec = now.tv_sec + ms / 1000 + (now.tv_usec + (ms % 1000) * 1000)
-			/ 1000000;
-	time.tv_nsec = ((now.tv_usec + (ms % 1000) * 1000) % 1000000) * 1000;
-
-	/* Just use this to test the time out. The cond var is never signaled. */
-	pthread_mutex_lock(&foo.mutex);
-	while (foo.flag == 0 && status != ETIMEDOUT) {
-		status = pthread_cond_timedwait(&foo.cond, &foo.mutex, &time);
-	}
-	pthread_mutex_unlock(&foo.mutex);
-
-	/* post the main event */
-	pthread_mutex_lock(&main_event.mutex);
-	main_event.flag = 1;
-	pthread_cond_signal(&main_event.cond);
-	pthread_mutex_unlock(&main_event.mutex);
-
-	/* that's it, bye */
-	return (void*) status;
+    int status = 0;
+    event_t foo;
+    struct timespec time;
+    struct timeval now;
+    long ms = (long) ms_param;
+
+    /* initialize cond var */
+    pthread_cond_init(&foo.cond, NULL);
+    pthread_mutex_init(&foo.mutex, NULL);
+    foo.flag = 0;
+
+    /* set the time out value */
+    printf("waiting %ld ms ...\n", ms);
+    gettimeofday(&now, NULL);
+    time.tv_sec = now.tv_sec + ms / 1000 + (now.tv_usec + (ms % 1000) * 1000)
+            / 1000000;
+    time.tv_nsec = ((now.tv_usec + (ms % 1000) * 1000) % 1000000) * 1000;
+
+    /* Just use this to test the time out. The cond var is never signaled. */
+    pthread_mutex_lock(&foo.mutex);
+    while (foo.flag == 0 && status != ETIMEDOUT) {
+        status = pthread_cond_timedwait(&foo.cond, &foo.mutex, &time);
+    }
+    pthread_mutex_unlock(&foo.mutex);
+
+    /* post the main event */
+    pthread_mutex_lock(&main_event.mutex);
+    main_event.flag = 1;
+    pthread_cond_signal(&main_event.cond);
+    pthread_mutex_unlock(&main_event.mutex);
+
+    /* that's it, bye */
+    return (void*) status;
 }
 }
 
 
 int libc_ex7(void) {
 int libc_ex7(void) {
-	unsigned long count;
-
-	setvbuf(stdout, NULL, _IONBF, 0);
-
-	/* initialize main event cond var */
-	pthread_cond_init(&main_event.cond, NULL);
-	pthread_mutex_init(&main_event.mutex, NULL);
-	main_event.flag = 0;
-
-	for (count = 0; count < 20; ++count) {
-		pthread_t thread;
-		int status;
-
-		/* pass down the milli-second timeout in the void* param */
-		status = pthread_create(&thread, NULL, test_thread, (void*) (count
-				* 100));
-		if (status != 0) {
-			printf("status = %d, count = %lu: %s\n", status, count, strerror(
-					errno));
-			return 1;
-		} else {
-
-			/* wait for the event posted by the child thread */
-			pthread_mutex_lock(&main_event.mutex);
-			while (main_event.flag == 0) {
-				pthread_cond_wait(&main_event.cond, &main_event.mutex);
-			}
-			main_event.flag = 0;
-			pthread_mutex_unlock(&main_event.mutex);
-
-			printf("count = %lu\n", count);
-		}
-
-		usleep(10);
-	}
-
-	return 0;
+    unsigned long count;
+
+    setvbuf(stdout, NULL, _IONBF, 0);
+
+    /* initialize main event cond var */
+    pthread_cond_init(&main_event.cond, NULL);
+    pthread_mutex_init(&main_event.mutex, NULL);
+    main_event.flag = 0;
+
+    for (count = 0; count < 20; ++count) {
+        pthread_t thread;
+        int status;
+
+        /* pass down the milli-second timeout in the void* param */
+        status = pthread_create(&thread, NULL, test_thread, (void*) (count
+                * 100));
+        if (status != 0) {
+            printf("status = %d, count = %lu: %s\n", status, count, strerror(
+                    errno));
+            return 1;
+        } else {
+
+            /* wait for the event posted by the child thread */
+            pthread_mutex_lock(&main_event.mutex);
+            while (main_event.flag == 0) {
+                pthread_cond_wait(&main_event.cond, &main_event.mutex);
+            }
+            main_event.flag = 0;
+            pthread_mutex_unlock(&main_event.mutex);
+
+            printf("count = %lu\n", count);
+        }
+
+        usleep(10);
+    }
+
+    return 0;
 }
 }
 #include <finsh.h>
 #include <finsh.h>
 FINSH_FUNCTION_EXPORT(libc_ex7, example 7 for libc);
 FINSH_FUNCTION_EXPORT(libc_ex7, example 7 for libc);

+ 484 - 484
examples/libc/file.c

@@ -14,503 +14,503 @@
 const char* text = "this is a test string\n";
 const char* text = "this is a test string\n";
 void libc_fstat()
 void libc_fstat()
 {
 {
-	int fd;
-	struct stat s;
-
-	fd = open("/tmp/tt.txt", O_WRONLY | O_CREAT, 0);
-	if (fd < 0)
-	{
-		printf("open failed\n");
-		return;
-	}
-
-	write(fd, text, strlen(text) + 1);
-	printf("begin: %d\n", lseek(fd, 0, SEEK_SET));
-	printf("end: %d\n", lseek(fd, 0, SEEK_END));
-
-	printf("fstat result: %d\n", fstat(fd, &s));
-	close(fd);
+    int fd;
+    struct stat s;
+
+    fd = open("/tmp/tt.txt", O_WRONLY | O_CREAT, 0);
+    if (fd < 0)
+    {
+        printf("open failed\n");
+        return;
+    }
+
+    write(fd, text, strlen(text) + 1);
+    printf("begin: %d\n", lseek(fd, 0, SEEK_SET));
+    printf("end: %d\n", lseek(fd, 0, SEEK_END));
+
+    printf("fstat result: %d\n", fstat(fd, &s));
+    close(fd);
 }
 }
 FINSH_FUNCTION_EXPORT(libc_fstat, fstat test for libc);
 FINSH_FUNCTION_EXPORT(libc_fstat, fstat test for libc);
 
 
 void libc_lseek()
 void libc_lseek()
 {
 {
-	int fd;
-
-	fd = open("/tmp/tt.txt", O_WRONLY | O_CREAT, 0);
-	if (fd < 0)
-	{
-		printf("open failed\n");
-		return;
-	}
-
-	write(fd, text, strlen(text) + 1);
-	printf("begin: %d\n", lseek(fd, 0, SEEK_SET));
-	printf("end: %d\n", lseek(fd, 0, SEEK_END));
-	close(fd);
+    int fd;
+
+    fd = open("/tmp/tt.txt", O_WRONLY | O_CREAT, 0);
+    if (fd < 0)
+    {
+        printf("open failed\n");
+        return;
+    }
+
+    write(fd, text, strlen(text) + 1);
+    printf("begin: %d\n", lseek(fd, 0, SEEK_SET));
+    printf("end: %d\n", lseek(fd, 0, SEEK_END));
+    close(fd);
 }
 }
 FINSH_FUNCTION_EXPORT(libc_lseek, lseek test for libc);
 FINSH_FUNCTION_EXPORT(libc_lseek, lseek test for libc);
 
 
 void sleep(int tick)
 void sleep(int tick)
 {
 {
-	rt_thread_sleep(tick);
+    rt_thread_sleep(tick);
 }
 }
 
 
 int libc_fseek(void)
 int libc_fseek(void)
 {
 {
-	const char *tmpdir;
-	char *fname;
-	int fd;
-	FILE *fp;
-	const char outstr[] = "hello world!\n";
-	char strbuf[sizeof outstr];
-	char buf[200];
-	struct stat st1;
-	struct stat st2;
-	int result = 0;
-
-	tmpdir = getenv("TMPDIR");
-	if (tmpdir == NULL || tmpdir[0] == '\0')
-		tmpdir = "/tmp";
-
-	asprintf(&fname, "%s/tst-fseek.XXXXXX", tmpdir);
-	if (fname == NULL)
-	{
-		fprintf(stderr, "cannot generate name for temporary file: %s\n",
-				strerror(errno));
-		return 1;
-	}
-
-	/* Create a temporary file.   */
-	fd = mkstemp(fname);
-	if (fd == -1)
-	{
-		fprintf(stderr, "cannot open temporary file: %s\n", strerror(errno));
-		return 1;
-	}
-
-	fp = fdopen(fd, "w+");
-	if (fp == NULL)
-	{
-		fprintf(stderr, "cannot get FILE for temporary file: %s\n", strerror(
-				errno));
-		return 1;
-	}
-	setbuffer(fp, strbuf, sizeof(outstr) - 1);
-
-	if (fwrite(outstr, sizeof(outstr) - 1, 1, fp) != 1)
-	{
-		printf("%d: write error\n", __LINE__);
-		result = 1;
-		goto out;
-	}
-
-	/* The EOF flag must be reset.  */
-	if (fgetc(fp) != EOF)
-	{
-		printf("%d: managed to read at end of file\n", __LINE__);
-		result = 1;
-	}
-	else if (!feof(fp))
-	{
-		printf("%d: EOF flag not set\n", __LINE__);
-		result = 1;
-	}
-	if (fseek(fp, 0, SEEK_CUR) != 0)
-	{
-		printf("%d: fseek(fp, 0, SEEK_CUR) failed\n", __LINE__);
-		result = 1;
-	}
-	else if (feof(fp))
-	{
-		printf("%d: fseek() didn't reset EOF flag\n", __LINE__);
-		result = 1;
-	}
-
-	/* Do the same for fseeko().  */
-	if (fgetc(fp) != EOF)
-	{
-		printf("%d: managed to read at end of file\n", __LINE__);
-		result = 1;
-	}
-	else if (!feof(fp))
-	{
-		printf("%d: EOF flag not set\n", __LINE__);
-		result = 1;
-	}
-	if (fseeko(fp, 0, SEEK_CUR) != 0)
-	{
-		printf("%d: fseek(fp, 0, SEEK_CUR) failed\n", __LINE__);
-		result = 1;
-	}
-	else if (feof(fp))
-	{
-		printf("%d: fseek() didn't reset EOF flag\n", __LINE__);
-		result = 1;
-	}
-
-	/* Go back to the beginning of the file: absolute.  */
-	if (fseek(fp, 0, SEEK_SET) != 0)
-	{
-		printf("%d: fseek(fp, 0, SEEK_SET) failed\n", __LINE__);
-		result = 1;
-	}
-	else if (fflush(fp) != 0)
-	{
-		printf("%d: fflush() failed\n", __LINE__);
-		result = 1;
-	}
-	else if (lseek(fd, 0, SEEK_CUR) != 0)
-	{
-		int pos = lseek(fd, 0, SEEK_CUR);
-		printf("%d: lseek() returned different position, pos %d\n", __LINE__,
-				pos);
-		result = 1;
-	}
-	else if (fread(buf, sizeof(outstr) - 1, 1, fp) != 1)
-	{
-		printf("%d: fread() failed\n", __LINE__);
-		result = 1;
-	}
-	else if (memcmp(buf, outstr, sizeof(outstr) - 1) != 0)
-	{
-		printf("%d: content after fseek(,,SEEK_SET) wrong\n", __LINE__);
-		result = 1;
-	}
-
-	/* Now with fseeko.  */
-	if (fseeko(fp, 0, SEEK_SET) != 0)
-	{
-		printf("%d: fseeko(fp, 0, SEEK_SET) failed\n", __LINE__);
-		result = 1;
-	}
-	else if (fflush(fp) != 0)
-	{
-		printf("%d: fflush() failed\n", __LINE__);
-		result = 1;
-	}
-	else if (lseek(fd, 0, SEEK_CUR) != 0)
-	{
-		printf("%d: lseek() returned different position\n", __LINE__);
-		result = 1;
-	}
-	else if (fread(buf, sizeof(outstr) - 1, 1, fp) != 1)
-	{
-		printf("%d: fread() failed\n", __LINE__);
-		result = 1;
-	}
-	else if (memcmp(buf, outstr, sizeof(outstr) - 1) != 0)
-	{
-		printf("%d: content after fseeko(,,SEEK_SET) wrong\n", __LINE__);
-		result = 1;
-	}
-
-	/* Go back to the beginning of the file: relative.  */
-	if (fseek(fp, -((int) sizeof(outstr) - 1), SEEK_CUR) != 0)
-	{
-		printf("%d: fseek(fp, 0, SEEK_SET) failed\n", __LINE__);
-		result = 1;
-	}
-	else if (fflush(fp) != 0)
-	{
-		printf("%d: fflush() failed\n", __LINE__);
-		result = 1;
-	}
-	else if (lseek(fd, 0, SEEK_CUR) != 0)
-	{
-		printf("%d: lseek() returned different position\n", __LINE__);
-		result = 1;
-	}
-	else if (fread(buf, sizeof(outstr) - 1, 1, fp) != 1)
-	{
-		printf("%d: fread() failed\n", __LINE__);
-		result = 1;
-	}
-	else if (memcmp(buf, outstr, sizeof(outstr) - 1) != 0)
-	{
-		printf("%d: content after fseek(,,SEEK_SET) wrong\n", __LINE__);
-		result = 1;
-	}
-
-	/* Now with fseeko.  */
-	if (fseeko(fp, -((int) sizeof(outstr) - 1), SEEK_CUR) != 0)
-	{
-		printf("%d: fseeko(fp, 0, SEEK_SET) failed\n", __LINE__);
-		result = 1;
-	}
-	else if (fflush(fp) != 0)
-	{
-		printf("%d: fflush() failed\n", __LINE__);
-		result = 1;
-	}
-	else if (lseek(fd, 0, SEEK_CUR) != 0)
-	{
-		printf("%d: lseek() returned different position\n", __LINE__);
-		result = 1;
-	}
-	else if (fread(buf, sizeof(outstr) - 1, 1, fp) != 1)
-	{
-		printf("%d: fread() failed\n", __LINE__);
-		result = 1;
-	}
-	else if (memcmp(buf, outstr, sizeof(outstr) - 1) != 0)
-	{
-		printf("%d: content after fseeko(,,SEEK_SET) wrong\n", __LINE__);
-		result = 1;
-	}
-
-	/* Go back to the beginning of the file: from the end.  */
-	if (fseek(fp, -((int) sizeof(outstr) - 1), SEEK_END) != 0)
-	{
-		printf("%d: fseek(fp, 0, SEEK_SET) failed\n", __LINE__);
-		result = 1;
-	}
-	else if (fflush(fp) != 0)
-	{
-		printf("%d: fflush() failed\n", __LINE__);
-		result = 1;
-	}
-	else if (lseek(fd, 0, SEEK_CUR) != 0)
-	{
-		printf("%d: lseek() returned different position\n", __LINE__);
-		result = 1;
-	}
-	else if (fread(buf, sizeof(outstr) - 1, 1, fp) != 1)
-	{
-		printf("%d: fread() failed\n", __LINE__);
-		result = 1;
-	}
-	else if (memcmp(buf, outstr, sizeof(outstr) - 1) != 0)
-	{
-		printf("%d: content after fseek(,,SEEK_SET) wrong\n", __LINE__);
-		result = 1;
-	}
-
-	/* Now with fseeko.  */
-	if (fseeko(fp, -((int) sizeof(outstr) - 1), SEEK_END) != 0)
-	{
-		printf("%d: fseeko(fp, 0, SEEK_SET) failed\n", __LINE__);
-		result = 1;
-	}
-	else if (fflush(fp) != 0)
-	{
-		printf("%d: fflush() failed\n", __LINE__);
-		result = 1;
-	}
-	else if (lseek(fd, 0, SEEK_CUR) != 0)
-	{
-		printf("%d: lseek() returned different position\n", __LINE__);
-		result = 1;
-	}
-	else if (fread(buf, sizeof(outstr) - 1, 1, fp) != 1)
-	{
-		printf("%d: fread() failed\n", __LINE__);
-		result = 1;
-	}
-	else if (memcmp(buf, outstr, sizeof(outstr) - 1) != 0)
-	{
-		printf("%d: content after fseeko(,,SEEK_SET) wrong\n", __LINE__);
-		result = 1;
-	}
-
-	if (fwrite(outstr, sizeof(outstr) - 1, 1, fp) != 1)
-	{
-		printf("%d: write error 2\n", __LINE__);
-		result = 1;
-		goto out;
-	}
-
-	if (fwrite(outstr, sizeof(outstr) - 1, 1, fp) != 1)
-	{
-		printf("%d: write error 3\n", __LINE__);
-		result = 1;
-		goto out;
-	}
-
-	if (fwrite(outstr, sizeof(outstr) - 1, 1, fp) != 1)
-	{
-		printf("%d: write error 4\n", __LINE__);
-		result = 1;
-		goto out;
-	}
-
-	if (fwrite(outstr, sizeof(outstr) - 1, 1, fp) != 1)
-	{
-		printf("%d: write error 5\n", __LINE__);
-		result = 1;
-		goto out;
-	}
-
-	if (fputc('1', fp) == EOF || fputc('2', fp) == EOF)
-	{
-		printf("%d: cannot add characters at the end\n", __LINE__);
-		result = 1;
-		goto out;
-	}
-
-	/* Check the access time.  */
-	if (fstat(fd, &st1) < 0)
-	{
-		printf("%d: fstat64() before fseeko() failed\n\n", __LINE__);
-		result = 1;
-	}
-	else
-	{
-		sleep(1);
-
-		if (fseek(fp, -(2 + 2 * (sizeof(outstr) - 1)), SEEK_CUR) != 0)
-		{
-			printf("%d: fseek() after write characters failed\n", __LINE__);
-			result = 1;
-			goto out;
-		}
-		else
-		{
-
-			time_t t;
-			/* Make sure the timestamp actually can be different.  */
-			sleep(1);
-			t = time(NULL);
-
-			if (fstat(fd, &st2) < 0)
-			{
-				printf("%d: fstat64() after fseeko() failed\n\n", __LINE__);
-				result = 1;
-			}
-			if (st1.st_ctime >= t)
-			{
-				printf("%d: st_ctime not updated\n", __LINE__);
-				result = 1;
-			}
-			if (st1.st_mtime >= t)
-			{
-				printf("%d: st_mtime not updated\n", __LINE__);
-				result = 1;
-			}
-			if (st1.st_ctime >= st2.st_ctime)
-			{
-				printf("%d: st_ctime not changed\n", __LINE__);
-				result = 1;
-			}
-			if (st1.st_mtime >= st2.st_mtime)
-			{
-				printf("%d: st_mtime not changed\n", __LINE__);
-				result = 1;
-			}
-		}
-	}
-
-	if (fread(buf, 1, 2 + 2 * (sizeof(outstr) - 1), fp) != 2 + 2
-			* (sizeof(outstr) - 1))
-	{
-		printf("%d: reading 2 records plus bits failed\n", __LINE__);
-		result = 1;
-	}
-	else if (memcmp(buf, outstr, sizeof(outstr) - 1) != 0 || memcmp(
-			&buf[sizeof(outstr) - 1], outstr, sizeof(outstr) - 1) != 0 || buf[2
-			* (sizeof(outstr) - 1)] != '1' || buf[2 * (sizeof(outstr) - 1) + 1]
-			!= '2')
-	{
-		printf("%d: reading records failed\n", __LINE__);
-		result = 1;
-	}
-	else if (ungetc('9', fp) == EOF)
-	{
-		printf("%d: ungetc() failed\n", __LINE__);
-		result = 1;
-	}
-	else if (fseek(fp, -(2 + 2 * (sizeof(outstr) - 1)), SEEK_END) != 0)
-	{
-		printf("%d: fseek after ungetc failed\n", __LINE__);
-		result = 1;
-	}
-	else if (fread(buf, 1, 2 + 2 * (sizeof(outstr) - 1), fp) != 2 + 2
-			* (sizeof(outstr) - 1))
-	{
-		printf("%d: reading 2 records plus bits failed\n", __LINE__);
-		result = 1;
-	}
-	else if (memcmp(buf, outstr, sizeof(outstr) - 1) != 0 || memcmp(
-			&buf[sizeof(outstr) - 1], outstr, sizeof(outstr) - 1) != 0 || buf[2
-			* (sizeof(outstr) - 1)] != '1')
-	{
-		printf("%d: reading records for the second time failed\n", __LINE__);
-		result = 1;
-	}
-	else if (buf[2 * (sizeof(outstr) - 1) + 1] == '9')
-	{
-		printf("%d: unget character not ignored\n", __LINE__);
-		result = 1;
-	}
-	else if (buf[2 * (sizeof(outstr) - 1) + 1] != '2')
-	{
-		printf("%d: unget somehow changed character\n", __LINE__);
-		result = 1;
-	}
-
-	fclose(fp);
-
-	fp = fopen(fname, "r");
-	if (fp == NULL)
-	{
-		printf("%d: fopen() failed\n\n", __LINE__);
-		result = 1;
-	}
-	else if (fstat(fileno(fp), &st1) < 0)
-	{
-		printf("%d: fstat64() before fseeko() failed\n\n", __LINE__);
-		result = 1;
-	}
-	else if (fseeko(fp, 0, SEEK_END) != 0)
-	{
-		printf("%d: fseeko(fp, 0, SEEK_END) failed\n", __LINE__);
-		result = 1;
-	}
-	else if (ftello(fp) != st1.st_size)
-	{
-		printf("%d: fstat64 st_size %zd ftello %zd\n", __LINE__,
-				(size_t) st1.st_size, (size_t) ftello(fp));
-		result = 1;
-	}
-	else
-		printf("%d: SEEK_END works\n", __LINE__);
-	if (fp != NULL)
-		fclose(fp);
-
-	fp = fopen(fname, "r");
-	if (fp == NULL)
-	{
-		printf("%d: fopen() failed\n\n", __LINE__);
-		result = 1;
-	}
-	else if (fstat(fileno(fp), &st1) < 0)
-	{
-		printf("%d: fstat64() before fgetc() failed\n\n", __LINE__);
-		result = 1;
-	}
-	else if (fgetc(fp) == EOF)
-	{
-		printf("%d: fgetc() before fseeko() failed\n\n", __LINE__);
-		result = 1;
-	}
-	else if (fseeko(fp, 0, SEEK_END) != 0)
-	{
-		printf("%d: fseeko(fp, 0, SEEK_END) failed\n", __LINE__);
-		result = 1;
-	}
-	else if (ftello(fp) != st1.st_size)
-	{
-		printf("%d: fstat64 st_size %zd ftello %zd\n", __LINE__,
-				(size_t) st1.st_size, (size_t) ftello(fp));
-		result = 1;
-	}
-	else
-		printf("%d: SEEK_END works\n", __LINE__);
-	if (fp != NULL)
-		fclose(fp);
-
-	out: unlink(fname);
-
-	return result;
+    const char *tmpdir;
+    char *fname;
+    int fd;
+    FILE *fp;
+    const char outstr[] = "hello world!\n";
+    char strbuf[sizeof outstr];
+    char buf[200];
+    struct stat st1;
+    struct stat st2;
+    int result = 0;
+
+    tmpdir = getenv("TMPDIR");
+    if (tmpdir == NULL || tmpdir[0] == '\0')
+        tmpdir = "/tmp";
+
+    asprintf(&fname, "%s/tst-fseek.XXXXXX", tmpdir);
+    if (fname == NULL)
+    {
+        fprintf(stderr, "cannot generate name for temporary file: %s\n",
+                strerror(errno));
+        return 1;
+    }
+
+    /* Create a temporary file.   */
+    fd = mkstemp(fname);
+    if (fd == -1)
+    {
+        fprintf(stderr, "cannot open temporary file: %s\n", strerror(errno));
+        return 1;
+    }
+
+    fp = fdopen(fd, "w+");
+    if (fp == NULL)
+    {
+        fprintf(stderr, "cannot get FILE for temporary file: %s\n", strerror(
+                errno));
+        return 1;
+    }
+    setbuffer(fp, strbuf, sizeof(outstr) - 1);
+
+    if (fwrite(outstr, sizeof(outstr) - 1, 1, fp) != 1)
+    {
+        printf("%d: write error\n", __LINE__);
+        result = 1;
+        goto out;
+    }
+
+    /* The EOF flag must be reset.  */
+    if (fgetc(fp) != EOF)
+    {
+        printf("%d: managed to read at end of file\n", __LINE__);
+        result = 1;
+    }
+    else if (!feof(fp))
+    {
+        printf("%d: EOF flag not set\n", __LINE__);
+        result = 1;
+    }
+    if (fseek(fp, 0, SEEK_CUR) != 0)
+    {
+        printf("%d: fseek(fp, 0, SEEK_CUR) failed\n", __LINE__);
+        result = 1;
+    }
+    else if (feof(fp))
+    {
+        printf("%d: fseek() didn't reset EOF flag\n", __LINE__);
+        result = 1;
+    }
+
+    /* Do the same for fseeko().  */
+    if (fgetc(fp) != EOF)
+    {
+        printf("%d: managed to read at end of file\n", __LINE__);
+        result = 1;
+    }
+    else if (!feof(fp))
+    {
+        printf("%d: EOF flag not set\n", __LINE__);
+        result = 1;
+    }
+    if (fseeko(fp, 0, SEEK_CUR) != 0)
+    {
+        printf("%d: fseek(fp, 0, SEEK_CUR) failed\n", __LINE__);
+        result = 1;
+    }
+    else if (feof(fp))
+    {
+        printf("%d: fseek() didn't reset EOF flag\n", __LINE__);
+        result = 1;
+    }
+
+    /* Go back to the beginning of the file: absolute.  */
+    if (fseek(fp, 0, SEEK_SET) != 0)
+    {
+        printf("%d: fseek(fp, 0, SEEK_SET) failed\n", __LINE__);
+        result = 1;
+    }
+    else if (fflush(fp) != 0)
+    {
+        printf("%d: fflush() failed\n", __LINE__);
+        result = 1;
+    }
+    else if (lseek(fd, 0, SEEK_CUR) != 0)
+    {
+        int pos = lseek(fd, 0, SEEK_CUR);
+        printf("%d: lseek() returned different position, pos %d\n", __LINE__,
+                pos);
+        result = 1;
+    }
+    else if (fread(buf, sizeof(outstr) - 1, 1, fp) != 1)
+    {
+        printf("%d: fread() failed\n", __LINE__);
+        result = 1;
+    }
+    else if (memcmp(buf, outstr, sizeof(outstr) - 1) != 0)
+    {
+        printf("%d: content after fseek(,,SEEK_SET) wrong\n", __LINE__);
+        result = 1;
+    }
+
+    /* Now with fseeko.  */
+    if (fseeko(fp, 0, SEEK_SET) != 0)
+    {
+        printf("%d: fseeko(fp, 0, SEEK_SET) failed\n", __LINE__);
+        result = 1;
+    }
+    else if (fflush(fp) != 0)
+    {
+        printf("%d: fflush() failed\n", __LINE__);
+        result = 1;
+    }
+    else if (lseek(fd, 0, SEEK_CUR) != 0)
+    {
+        printf("%d: lseek() returned different position\n", __LINE__);
+        result = 1;
+    }
+    else if (fread(buf, sizeof(outstr) - 1, 1, fp) != 1)
+    {
+        printf("%d: fread() failed\n", __LINE__);
+        result = 1;
+    }
+    else if (memcmp(buf, outstr, sizeof(outstr) - 1) != 0)
+    {
+        printf("%d: content after fseeko(,,SEEK_SET) wrong\n", __LINE__);
+        result = 1;
+    }
+
+    /* Go back to the beginning of the file: relative.  */
+    if (fseek(fp, -((int) sizeof(outstr) - 1), SEEK_CUR) != 0)
+    {
+        printf("%d: fseek(fp, 0, SEEK_SET) failed\n", __LINE__);
+        result = 1;
+    }
+    else if (fflush(fp) != 0)
+    {
+        printf("%d: fflush() failed\n", __LINE__);
+        result = 1;
+    }
+    else if (lseek(fd, 0, SEEK_CUR) != 0)
+    {
+        printf("%d: lseek() returned different position\n", __LINE__);
+        result = 1;
+    }
+    else if (fread(buf, sizeof(outstr) - 1, 1, fp) != 1)
+    {
+        printf("%d: fread() failed\n", __LINE__);
+        result = 1;
+    }
+    else if (memcmp(buf, outstr, sizeof(outstr) - 1) != 0)
+    {
+        printf("%d: content after fseek(,,SEEK_SET) wrong\n", __LINE__);
+        result = 1;
+    }
+
+    /* Now with fseeko.  */
+    if (fseeko(fp, -((int) sizeof(outstr) - 1), SEEK_CUR) != 0)
+    {
+        printf("%d: fseeko(fp, 0, SEEK_SET) failed\n", __LINE__);
+        result = 1;
+    }
+    else if (fflush(fp) != 0)
+    {
+        printf("%d: fflush() failed\n", __LINE__);
+        result = 1;
+    }
+    else if (lseek(fd, 0, SEEK_CUR) != 0)
+    {
+        printf("%d: lseek() returned different position\n", __LINE__);
+        result = 1;
+    }
+    else if (fread(buf, sizeof(outstr) - 1, 1, fp) != 1)
+    {
+        printf("%d: fread() failed\n", __LINE__);
+        result = 1;
+    }
+    else if (memcmp(buf, outstr, sizeof(outstr) - 1) != 0)
+    {
+        printf("%d: content after fseeko(,,SEEK_SET) wrong\n", __LINE__);
+        result = 1;
+    }
+
+    /* Go back to the beginning of the file: from the end.  */
+    if (fseek(fp, -((int) sizeof(outstr) - 1), SEEK_END) != 0)
+    {
+        printf("%d: fseek(fp, 0, SEEK_SET) failed\n", __LINE__);
+        result = 1;
+    }
+    else if (fflush(fp) != 0)
+    {
+        printf("%d: fflush() failed\n", __LINE__);
+        result = 1;
+    }
+    else if (lseek(fd, 0, SEEK_CUR) != 0)
+    {
+        printf("%d: lseek() returned different position\n", __LINE__);
+        result = 1;
+    }
+    else if (fread(buf, sizeof(outstr) - 1, 1, fp) != 1)
+    {
+        printf("%d: fread() failed\n", __LINE__);
+        result = 1;
+    }
+    else if (memcmp(buf, outstr, sizeof(outstr) - 1) != 0)
+    {
+        printf("%d: content after fseek(,,SEEK_SET) wrong\n", __LINE__);
+        result = 1;
+    }
+
+    /* Now with fseeko.  */
+    if (fseeko(fp, -((int) sizeof(outstr) - 1), SEEK_END) != 0)
+    {
+        printf("%d: fseeko(fp, 0, SEEK_SET) failed\n", __LINE__);
+        result = 1;
+    }
+    else if (fflush(fp) != 0)
+    {
+        printf("%d: fflush() failed\n", __LINE__);
+        result = 1;
+    }
+    else if (lseek(fd, 0, SEEK_CUR) != 0)
+    {
+        printf("%d: lseek() returned different position\n", __LINE__);
+        result = 1;
+    }
+    else if (fread(buf, sizeof(outstr) - 1, 1, fp) != 1)
+    {
+        printf("%d: fread() failed\n", __LINE__);
+        result = 1;
+    }
+    else if (memcmp(buf, outstr, sizeof(outstr) - 1) != 0)
+    {
+        printf("%d: content after fseeko(,,SEEK_SET) wrong\n", __LINE__);
+        result = 1;
+    }
+
+    if (fwrite(outstr, sizeof(outstr) - 1, 1, fp) != 1)
+    {
+        printf("%d: write error 2\n", __LINE__);
+        result = 1;
+        goto out;
+    }
+
+    if (fwrite(outstr, sizeof(outstr) - 1, 1, fp) != 1)
+    {
+        printf("%d: write error 3\n", __LINE__);
+        result = 1;
+        goto out;
+    }
+
+    if (fwrite(outstr, sizeof(outstr) - 1, 1, fp) != 1)
+    {
+        printf("%d: write error 4\n", __LINE__);
+        result = 1;
+        goto out;
+    }
+
+    if (fwrite(outstr, sizeof(outstr) - 1, 1, fp) != 1)
+    {
+        printf("%d: write error 5\n", __LINE__);
+        result = 1;
+        goto out;
+    }
+
+    if (fputc('1', fp) == EOF || fputc('2', fp) == EOF)
+    {
+        printf("%d: cannot add characters at the end\n", __LINE__);
+        result = 1;
+        goto out;
+    }
+
+    /* Check the access time.  */
+    if (fstat(fd, &st1) < 0)
+    {
+        printf("%d: fstat64() before fseeko() failed\n\n", __LINE__);
+        result = 1;
+    }
+    else
+    {
+        sleep(1);
+
+        if (fseek(fp, -(2 + 2 * (sizeof(outstr) - 1)), SEEK_CUR) != 0)
+        {
+            printf("%d: fseek() after write characters failed\n", __LINE__);
+            result = 1;
+            goto out;
+        }
+        else
+        {
+
+            time_t t;
+            /* Make sure the timestamp actually can be different.  */
+            sleep(1);
+            t = time(NULL);
+
+            if (fstat(fd, &st2) < 0)
+            {
+                printf("%d: fstat64() after fseeko() failed\n\n", __LINE__);
+                result = 1;
+            }
+            if (st1.st_ctime >= t)
+            {
+                printf("%d: st_ctime not updated\n", __LINE__);
+                result = 1;
+            }
+            if (st1.st_mtime >= t)
+            {
+                printf("%d: st_mtime not updated\n", __LINE__);
+                result = 1;
+            }
+            if (st1.st_ctime >= st2.st_ctime)
+            {
+                printf("%d: st_ctime not changed\n", __LINE__);
+                result = 1;
+            }
+            if (st1.st_mtime >= st2.st_mtime)
+            {
+                printf("%d: st_mtime not changed\n", __LINE__);
+                result = 1;
+            }
+        }
+    }
+
+    if (fread(buf, 1, 2 + 2 * (sizeof(outstr) - 1), fp) != 2 + 2
+            * (sizeof(outstr) - 1))
+    {
+        printf("%d: reading 2 records plus bits failed\n", __LINE__);
+        result = 1;
+    }
+    else if (memcmp(buf, outstr, sizeof(outstr) - 1) != 0 || memcmp(
+            &buf[sizeof(outstr) - 1], outstr, sizeof(outstr) - 1) != 0 || buf[2
+            * (sizeof(outstr) - 1)] != '1' || buf[2 * (sizeof(outstr) - 1) + 1]
+            != '2')
+    {
+        printf("%d: reading records failed\n", __LINE__);
+        result = 1;
+    }
+    else if (ungetc('9', fp) == EOF)
+    {
+        printf("%d: ungetc() failed\n", __LINE__);
+        result = 1;
+    }
+    else if (fseek(fp, -(2 + 2 * (sizeof(outstr) - 1)), SEEK_END) != 0)
+    {
+        printf("%d: fseek after ungetc failed\n", __LINE__);
+        result = 1;
+    }
+    else if (fread(buf, 1, 2 + 2 * (sizeof(outstr) - 1), fp) != 2 + 2
+            * (sizeof(outstr) - 1))
+    {
+        printf("%d: reading 2 records plus bits failed\n", __LINE__);
+        result = 1;
+    }
+    else if (memcmp(buf, outstr, sizeof(outstr) - 1) != 0 || memcmp(
+            &buf[sizeof(outstr) - 1], outstr, sizeof(outstr) - 1) != 0 || buf[2
+            * (sizeof(outstr) - 1)] != '1')
+    {
+        printf("%d: reading records for the second time failed\n", __LINE__);
+        result = 1;
+    }
+    else if (buf[2 * (sizeof(outstr) - 1) + 1] == '9')
+    {
+        printf("%d: unget character not ignored\n", __LINE__);
+        result = 1;
+    }
+    else if (buf[2 * (sizeof(outstr) - 1) + 1] != '2')
+    {
+        printf("%d: unget somehow changed character\n", __LINE__);
+        result = 1;
+    }
+
+    fclose(fp);
+
+    fp = fopen(fname, "r");
+    if (fp == NULL)
+    {
+        printf("%d: fopen() failed\n\n", __LINE__);
+        result = 1;
+    }
+    else if (fstat(fileno(fp), &st1) < 0)
+    {
+        printf("%d: fstat64() before fseeko() failed\n\n", __LINE__);
+        result = 1;
+    }
+    else if (fseeko(fp, 0, SEEK_END) != 0)
+    {
+        printf("%d: fseeko(fp, 0, SEEK_END) failed\n", __LINE__);
+        result = 1;
+    }
+    else if (ftello(fp) != st1.st_size)
+    {
+        printf("%d: fstat64 st_size %zd ftello %zd\n", __LINE__,
+                (size_t) st1.st_size, (size_t) ftello(fp));
+        result = 1;
+    }
+    else
+        printf("%d: SEEK_END works\n", __LINE__);
+    if (fp != NULL)
+        fclose(fp);
+
+    fp = fopen(fname, "r");
+    if (fp == NULL)
+    {
+        printf("%d: fopen() failed\n\n", __LINE__);
+        result = 1;
+    }
+    else if (fstat(fileno(fp), &st1) < 0)
+    {
+        printf("%d: fstat64() before fgetc() failed\n\n", __LINE__);
+        result = 1;
+    }
+    else if (fgetc(fp) == EOF)
+    {
+        printf("%d: fgetc() before fseeko() failed\n\n", __LINE__);
+        result = 1;
+    }
+    else if (fseeko(fp, 0, SEEK_END) != 0)
+    {
+        printf("%d: fseeko(fp, 0, SEEK_END) failed\n", __LINE__);
+        result = 1;
+    }
+    else if (ftello(fp) != st1.st_size)
+    {
+        printf("%d: fstat64 st_size %zd ftello %zd\n", __LINE__,
+                (size_t) st1.st_size, (size_t) ftello(fp));
+        result = 1;
+    }
+    else
+        printf("%d: SEEK_END works\n", __LINE__);
+    if (fp != NULL)
+        fclose(fp);
+
+    out: unlink(fname);
+
+    return result;
 }
 }
 FINSH_FUNCTION_EXPORT(libc_fseek, lseek test for libc);
 FINSH_FUNCTION_EXPORT(libc_fseek, lseek test for libc);

+ 27 - 27
examples/libc/memory.c

@@ -12,45 +12,45 @@
 static int errors = 0;
 static int errors = 0;
 static void merror(const char *msg)
 static void merror(const char *msg)
 {
 {
-	++errors;
-	printf("Error: %s\n", msg);
+    ++errors;
+    printf("Error: %s\n", msg);
 }
 }
 
 
 int libc_mem(void)
 int libc_mem(void)
 {
 {
-	void *p;
-	int save;
+    void *p;
+    int save;
 
 
-	errno = 0;
+    errno = 0;
 
 
-	p = malloc(-1);
-	save = errno;
+    p = malloc(-1);
+    save = errno;
 
 
-	if (p != NULL)
-		merror("malloc (-1) succeeded.");
+    if (p != NULL)
+        merror("malloc (-1) succeeded.");
 
 
-	if (p == NULL && save != ENOMEM)
-		merror("errno is not set correctly");
+    if (p == NULL && save != ENOMEM)
+        merror("errno is not set correctly");
 
 
-	p = malloc(10);
-	if (p == NULL)
-		merror("malloc (10) failed.");
+    p = malloc(10);
+    if (p == NULL)
+        merror("malloc (10) failed.");
 
 
-	/* realloc (p, 0) == free (p).  */
-	p = realloc(p, 0);
-	if (p != NULL)
-		merror("realloc (p, 0) failed.");
+    /* realloc (p, 0) == free (p).  */
+    p = realloc(p, 0);
+    if (p != NULL)
+        merror("realloc (p, 0) failed.");
 
 
-	p = malloc(0);
-	if (p == NULL)
-	{
-		printf("malloc(0) returns NULL\n");
-	}
+    p = malloc(0);
+    if (p == NULL)
+    {
+        printf("malloc(0) returns NULL\n");
+    }
 
 
-	p = realloc(p, 0);
-	if (p != NULL)
-		merror("realloc (p, 0) failed.");
+    p = realloc(p, 0);
+    if (p != NULL)
+        merror("realloc (p, 0) failed.");
 
 
-	return errors != 0;
+    return errors != 0;
 }
 }
 FINSH_FUNCTION_EXPORT(libc_mem, memory test for libc);
 FINSH_FUNCTION_EXPORT(libc_mem, memory test for libc);

+ 81 - 81
examples/libc/mq.c

@@ -7,113 +7,113 @@
 
 
 #define MQ_NAME_1       "testmsg1"
 #define MQ_NAME_1       "testmsg1"
 #define MQ_NAME_2       "testmsg2"
 #define MQ_NAME_2       "testmsg2"
-#define MSG_SIZE	128
-#define MAX_MSG		3
+#define MSG_SIZE    128
+#define MAX_MSG     3
 
 
 const char *s_msg_ptr[] = {"msg test 1", "msg test 2", "msg test 3"};
 const char *s_msg_ptr[] = {"msg test 1", "msg test 2", "msg test 3"};
 char r_msg_ptr_1[MAX_MSG][MSG_SIZE];
 char r_msg_ptr_1[MAX_MSG][MSG_SIZE];
 char r_msg_ptr_2[MAX_MSG][MSG_SIZE];
 char r_msg_ptr_2[MAX_MSG][MSG_SIZE];
 pthread_t send1, send2, rev1, rev2;
 pthread_t send1, send2, rev1, rev2;
 
 
-int * send_1(void * mq) 
+int * send_1(void * mq)
 {
 {
-	int i;
-	mqd_t mq1 = *(mqd_t *)mq;
+    int i;
+    mqd_t mq1 = *(mqd_t *)mq;
 
 
-	printf("Enter into send_1 \n");
-	for (i = 0; i < MAX_MSG; i++ ) {
-		if ( -1 == mq_send(mq1, s_msg_ptr[i], MSG_SIZE, i)) {
-			perror("mq_send doesn't return success \n");
-			pthread_exit((void *)1);
-		}
-		printf("[%d] send '%s' in thread send_1. \n", i+1, s_msg_ptr[i]);
-	}
-	pthread_exit((void *)0);
+    printf("Enter into send_1 \n");
+    for (i = 0; i < MAX_MSG; i++ ) {
+        if ( -1 == mq_send(mq1, s_msg_ptr[i], MSG_SIZE, i)) {
+            perror("mq_send doesn't return success \n");
+            pthread_exit((void *)1);
+        }
+        printf("[%d] send '%s' in thread send_1. \n", i+1, s_msg_ptr[i]);
+    }
+    pthread_exit((void *)0);
 
 
 }
 }
 
 
-int * send_2(void * mq) 
+int * send_2(void * mq)
 {
 {
-	int i;
- 	mqd_t mq2 = *(mqd_t *)mq;
+    int i;
+    mqd_t mq2 = *(mqd_t *)mq;
 
 
-	printf("Enter into send_2 \n");
-	for (i = 0; i < MAX_MSG; i++ ) {
-		if ( -1 == mq_send(mq2, s_msg_ptr[i], MSG_SIZE, i)) {
-			perror("mq_send doesn't return success \n");
-			pthread_exit((void *)1);
-		}
-		printf("[%d] send '%s' in thread send_2. \n", i+1, s_msg_ptr[i]);
-	}
-	pthread_exit((void *)0);
+    printf("Enter into send_2 \n");
+    for (i = 0; i < MAX_MSG; i++ ) {
+        if ( -1 == mq_send(mq2, s_msg_ptr[i], MSG_SIZE, i)) {
+            perror("mq_send doesn't return success \n");
+            pthread_exit((void *)1);
+        }
+        printf("[%d] send '%s' in thread send_2. \n", i+1, s_msg_ptr[i]);
+    }
+    pthread_exit((void *)0);
 }
 }
 
 
-int * receive_1(void * mq) 
+int * receive_1(void * mq)
 {
 {
-	int i;
-	mqd_t mq1 = *(mqd_t *)mq;
+    int i;
+    mqd_t mq1 = *(mqd_t *)mq;
 
 
-	printf("Enter into receive_1 \n");
-	for (i = 0; i< MAX_MSG; i++) {
-		if ( -1 == mq_receive(mq1, r_msg_ptr_1[i], MSG_SIZE, NULL) ) {
-			perror("mq_receive doesn't return success \n");
-			pthread_exit((void *)1);
-		}
-		printf("[%d] receive '%s' in thread receive_1. \n", i+1, r_msg_ptr_1[i]);
-	}
-	pthread_exit((void *)0);
+    printf("Enter into receive_1 \n");
+    for (i = 0; i< MAX_MSG; i++) {
+        if ( -1 == mq_receive(mq1, r_msg_ptr_1[i], MSG_SIZE, NULL) ) {
+            perror("mq_receive doesn't return success \n");
+            pthread_exit((void *)1);
+        }
+        printf("[%d] receive '%s' in thread receive_1. \n", i+1, r_msg_ptr_1[i]);
+    }
+    pthread_exit((void *)0);
 }
 }
-int * receive_2(void * mq) 
+int * receive_2(void * mq)
 {
 {
-	int i;
-	mqd_t mq2 = *(mqd_t *)mq;
+    int i;
+    mqd_t mq2 = *(mqd_t *)mq;
 
 
-	printf("Enter into receive_2 \n");
-	for (i = 0; i< MAX_MSG; i++) {
-		if ( -1 == mq_receive(mq2, r_msg_ptr_2[i], MSG_SIZE, NULL) ) {
-			perror("mq_receive doesn't return success \n");
-			pthread_exit((void *)1);
-		}
-		printf("[%d] receive '%s' in thread receive_2. \n", i+1, r_msg_ptr_2[i]);
-	}
-	pthread_exit((void *)0);
+    printf("Enter into receive_2 \n");
+    for (i = 0; i< MAX_MSG; i++) {
+        if ( -1 == mq_receive(mq2, r_msg_ptr_2[i], MSG_SIZE, NULL) ) {
+            perror("mq_receive doesn't return success \n");
+            pthread_exit((void *)1);
+        }
+        printf("[%d] receive '%s' in thread receive_2. \n", i+1, r_msg_ptr_2[i]);
+    }
+    pthread_exit((void *)0);
 }
 }
 
 
 int libc_mq()
 int libc_mq()
 {
 {
- 	mqd_t mq1 = 0, mq2 = 0;	
-	struct mq_attr mqstat;
-	int oflag = O_CREAT|O_RDWR;
+    mqd_t mq1 = 0, mq2 = 0;
+    struct mq_attr mqstat;
+    int oflag = O_CREAT|O_RDWR;
 
 
-	memset(&mqstat, 0, sizeof(mqstat));
-	mqstat.mq_maxmsg = MAX_MSG;
-	mqstat.mq_msgsize = MSG_SIZE;
-	mqstat.mq_flags = 0;
-  
-  	if( ((mqd_t) -1) == (mq1 = mq_open(MQ_NAME_1,oflag,0777, &mqstat)) ) {
-		printf("mq_open doesn't return success \n");
-		return -1;
-	}
-  	if( ((mqd_t) -1) == (mq2 = mq_open(MQ_NAME_2,oflag,0777, &mqstat)) ) {
-		printf("mq_open doesn't return success \n");
-		return -1;
-	}
-	pthread_create(&send1, NULL, (void *)send_1, (void *)&mq1);
-	pthread_create(&send2, NULL, (void *)send_2, (void *)&mq2);
-        pthread_create(&rev1, NULL, (void *)receive_1, (void *)&mq1);	
-        pthread_create(&rev2, NULL, (void *)receive_2, (void *)&mq2);	
-	pthread_join(send1, NULL);
-	pthread_join(send2, NULL);
-	pthread_join(rev1, NULL);
-	pthread_join(rev2, NULL);
-		
-	mq_close(mq1);
-	mq_close(mq2);
-	mq_unlink(MQ_NAME_1);
-	mq_unlink(MQ_NAME_2);
+    memset(&mqstat, 0, sizeof(mqstat));
+    mqstat.mq_maxmsg = MAX_MSG;
+    mqstat.mq_msgsize = MSG_SIZE;
+    mqstat.mq_flags = 0;
 
 
-	printf("PASSED\n");
-	return 0;
+    if( ((mqd_t) -1) == (mq1 = mq_open(MQ_NAME_1,oflag,0777, &mqstat)) ) {
+        printf("mq_open doesn't return success \n");
+        return -1;
+    }
+    if( ((mqd_t) -1) == (mq2 = mq_open(MQ_NAME_2,oflag,0777, &mqstat)) ) {
+        printf("mq_open doesn't return success \n");
+        return -1;
+    }
+    pthread_create(&send1, NULL, (void *)send_1, (void *)&mq1);
+    pthread_create(&send2, NULL, (void *)send_2, (void *)&mq2);
+        pthread_create(&rev1, NULL, (void *)receive_1, (void *)&mq1);
+        pthread_create(&rev2, NULL, (void *)receive_2, (void *)&mq2);
+    pthread_join(send1, NULL);
+    pthread_join(send2, NULL);
+    pthread_join(rev1, NULL);
+    pthread_join(rev2, NULL);
+
+    mq_close(mq1);
+    mq_close(mq2);
+    mq_unlink(MQ_NAME_1);
+    mq_unlink(MQ_NAME_2);
+
+    printf("PASSED\n");
+    return 0;
 }
 }
 #include <finsh.h>
 #include <finsh.h>
 FINSH_FUNCTION_EXPORT(libc_mq, posix mqueue test);
 FINSH_FUNCTION_EXPORT(libc_mq, posix mqueue test);

+ 29 - 29
examples/libc/printf.c

@@ -142,59 +142,59 @@ int printf_test()
     int i;
     int i;
 
 
     printf ("snprintf (\"%%30s\", \"foo\") == %d, \"%.*s\"\n",
     printf ("snprintf (\"%%30s\", \"foo\") == %d, \"%.*s\"\n",
-	    snprintf (buf, sizeof (buf), "%30s", "foo"), (int) sizeof (buf),
-	    buf);
+        snprintf (buf, sizeof (buf), "%30s", "foo"), (int) sizeof (buf),
+        buf);
     memset(buf2,0,sizeof(buf));
     memset(buf2,0,sizeof(buf));
     i=snprintf(buf2, 256, "%.9999u", 10);
     i=snprintf(buf2, 256, "%.9999u", 10);
     printf("%i %i\n",i,strlen(buf2));
     printf("%i %i\n",i,strlen(buf2));
 
 
     printf ("snprintf (\"%%.999999u\", 10) == %d\n",
     printf ("snprintf (\"%%.999999u\", 10) == %d\n",
-    	    snprintf(buf2, sizeof(buf2), "%.999999u", 10));
+            snprintf(buf2, sizeof(buf2), "%.999999u", 10));
   }
   }
   return 0;
   return 0;
 }
 }
 
 
 void libc_printf()
 void libc_printf()
 {
 {
-	printf("stdout test!!\n");
-	fprintf(stdout, "fprintf test!!\n");
-	fprintf(stderr, "fprintf test!!\n");
-	puts("puts test!!\n");
+    printf("stdout test!!\n");
+    fprintf(stdout, "fprintf test!!\n");
+    fprintf(stderr, "fprintf test!!\n");
+    puts("puts test!!\n");
 
 
-	putc('1', stderr);
-	putc('2', stderr);
-	putc('\n', stderr);
+    putc('1', stderr);
+    putc('2', stderr);
+    putc('\n', stderr);
 
 
-	printf_test();
+    printf_test();
 }
 }
 FINSH_FUNCTION_EXPORT(libc_printf, printf test in libc);
 FINSH_FUNCTION_EXPORT(libc_printf, printf test in libc);
 
 
 
 
 void libc_dprintf()
 void libc_dprintf()
 {
 {
-	int fd;
-
-	fd = open("/dev/console", O_WRONLY, 0);
-	if (fd >0)
-	{
-		dprintf(fd, "fd:%d printf test!!\n", fd);
-		close(fd);
-	}
+    int fd;
+
+    fd = open("/dev/console", O_WRONLY, 0);
+    if (fd >0)
+    {
+        dprintf(fd, "fd:%d printf test!!\n", fd);
+        close(fd);
+    }
 }
 }
 FINSH_FUNCTION_EXPORT(libc_dprintf, dprintf test);
 FINSH_FUNCTION_EXPORT(libc_dprintf, dprintf test);
 
 
 
 
 void libc_fdopen()
 void libc_fdopen()
 {
 {
-	int fd;
-	FILE* fp;
-
-	fd = open("/dev/console", O_WRONLY, 0);
-	if (fd >0)
-	{
-		fp = fdopen(fd, "w");
-		fprintf(fp, "fdopen test, fd %d!!\n", fileno(fp));
-		fclose(fp);
-	}
+    int fd;
+    FILE* fp;
+
+    fd = open("/dev/console", O_WRONLY, 0);
+    if (fd >0)
+    {
+        fp = fdopen(fd, "w");
+        fprintf(fp, "fdopen test, fd %d!!\n", fileno(fp));
+        fclose(fp);
+    }
 }
 }
 FINSH_FUNCTION_EXPORT(libc_fdopen, fdopen test);
 FINSH_FUNCTION_EXPORT(libc_fdopen, fdopen test);

+ 28 - 28
examples/libc/rand.c

@@ -10,34 +10,34 @@
 
 
 int libc_rand(void)
 int libc_rand(void)
 {
 {
-	int i1, i2;
-	int j1, j2;
+    int i1, i2;
+    int j1, j2;
 
 
-	/* The C standard says that "If rand is called before any calls to
-	 srand have been made, the same sequence shall be generated as
-	 when srand is first called with a seed value of 1." */
-	i1 = rand();
-	i2 = rand();
-	srand(1);
-	j1 = rand();
-	j2 = rand();
-	if (i1 < 0 || i2 < 0 || j1 < 0 || j2 < 0)
-	{
-		puts("Test FAILED!");
-	}
-	if (j1 == i1 && j2 == i2)
-	{
-		puts("Test succeeded.");
-		return 0;
-	}
-	else
-	{
-		if (j1 != i1)
-			printf("%d != %d\n", j1, i1);
-		if (j2 != i2)
-			printf("%d != %d\n", j2, i2);
-		puts("Test FAILED!");
-		return 1;
-	}
+    /* The C standard says that "If rand is called before any calls to
+     srand have been made, the same sequence shall be generated as
+     when srand is first called with a seed value of 1." */
+    i1 = rand();
+    i2 = rand();
+    srand(1);
+    j1 = rand();
+    j2 = rand();
+    if (i1 < 0 || i2 < 0 || j1 < 0 || j2 < 0)
+    {
+        puts("Test FAILED!");
+    }
+    if (j1 == i1 && j2 == i2)
+    {
+        puts("Test succeeded.");
+        return 0;
+    }
+    else
+    {
+        if (j1 != i1)
+            printf("%d != %d\n", j1, i1);
+        if (j2 != i2)
+            printf("%d != %d\n", j2, i2);
+        puts("Test FAILED!");
+        return 1;
+    }
 }
 }
 FINSH_FUNCTION_EXPORT(libc_rand, rand test for libc);
 FINSH_FUNCTION_EXPORT(libc_rand, rand test for libc);

+ 41 - 41
examples/libc/sem.c

@@ -5,61 +5,61 @@
 static sem_t sema;
 static sem_t sema;
 static void* other_thread()
 static void* other_thread()
 {
 {
-	printf("other_thread here!\n");
+    printf("other_thread here!\n");
 
 
-	sleep(1);
+    sleep(1);
 
 
-	while (1)
-	{
-		printf("other_thread: sem_post...\n");
-		if(sem_post(&sema) == -1)
-			printf("sem_post failed\n");
-		sleep(1);
-	}
-	
-	printf("other_thread dies!\n");
-	pthread_exit(0);
+    while (1)
+    {
+        printf("other_thread: sem_post...\n");
+        if(sem_post(&sema) == -1)
+            printf("sem_post failed\n");
+        sleep(1);
+    }
+
+    printf("other_thread dies!\n");
+    pthread_exit(0);
 }
 }
 
 
 static void test_thread(void* parameter)
 static void test_thread(void* parameter)
 {
 {
-	pthread_t tid;
+    pthread_t tid;
+
+    printf("main thread here!\n");
+    printf("sleep 5 seconds...");
+    sleep(5);
+    printf("done\n");
 
 
-	printf("main thread here!\n");
-	printf("sleep 5 seconds...");	
-	sleep(5);
-	printf("done\n");
+    sem_init(&sema, 0, 0);
 
 
-	sem_init(&sema, 0, 0);
-	
-	/* create the "other" thread */
-	if(pthread_create(&tid, 0, &other_thread, 0)!=0)
-		/* error */
-		printf("pthread_create OtherThread failed.\n");
-	else
-		printf("created OtherThread=%x\n", tid);
+    /* create the "other" thread */
+    if(pthread_create(&tid, 0, &other_thread, 0)!=0)
+        /* error */
+        printf("pthread_create OtherThread failed.\n");
+    else
+        printf("created OtherThread=%x\n", tid);
 
 
-	/* let the other thread run */
-	while (1)
-	{
-		printf("Main: sem_wait...\n");
-		if(sem_wait(&sema) == -1)
-			printf("sem_wait failed\n");
-		printf("Main back.\n\n");
-	}
+    /* let the other thread run */
+    while (1)
+    {
+        printf("Main: sem_wait...\n");
+        if(sem_wait(&sema) == -1)
+            printf("sem_wait failed\n");
+        printf("Main back.\n\n");
+    }
 
 
-	pthread_exit(0);
+    pthread_exit(0);
 }
 }
 #include <finsh.h>
 #include <finsh.h>
 void libc_sem()
 void libc_sem()
 {
 {
-	rt_thread_t tid;
+    rt_thread_t tid;
 
 
-	tid = rt_thread_create("semtest", test_thread, RT_NULL, 
-		2048, 20, 5);
-	if (tid != RT_NULL)
-	{
-		rt_thread_startup(tid);
-	}
+    tid = rt_thread_create("semtest", test_thread, RT_NULL,
+        2048, 20, 5);
+    if (tid != RT_NULL)
+    {
+        rt_thread_startup(tid);
+    }
 }
 }
 FINSH_FUNCTION_EXPORT(libc_sem, posix semaphore test);
 FINSH_FUNCTION_EXPORT(libc_sem, posix semaphore test);

+ 7 - 7
examples/libc/time.c

@@ -11,14 +11,14 @@
 
 
 int speed()
 int speed()
 {
 {
-	int i;
-	time_t t;
+    int i;
+    time_t t;
 
 
-	printf("%d\n", time(0));
-	for (i = 0; i < 10000000; ++i)
-		t = time(0);
+    printf("%d\n", time(0));
+    for (i = 0; i < 10000000; ++i)
+        t = time(0);
 
 
-	printf("%d\n", time(0));
-	return 0;
+    printf("%d\n", time(0));
+    return 0;
 }
 }
 FINSH_FUNCTION_EXPORT(speed, speed test);
 FINSH_FUNCTION_EXPORT(speed, speed test);

+ 2 - 2
examples/network/tcpsendpacket.c

@@ -26,9 +26,9 @@ void tcp_senddata(const char *url, int port, int length)
     {
     {
         /* 申请内存失败 */
         /* 申请内存失败 */
         rt_kprintf("No memory\n");
         rt_kprintf("No memory\n");
-        return;        
+        return;
     }
     }
-    
+
     /* 构造发送数据 */
     /* 构造发送数据 */
     for (index = 0; index < length; index ++)
     for (index = 0; index < length; index ++)
         buffer_ptr[index] = index & 0xff;
         buffer_ptr[index] = index & 0xff;

+ 1 - 1
examples/pm/timer_app.c

@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
  *
  *
  * SPDX-License-Identifier: Apache-2.0
  * SPDX-License-Identifier: Apache-2.0
  *
  *

+ 1 - 1
examples/pm/wakeup_app.c

@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
  *
  *
  * SPDX-License-Identifier: Apache-2.0
  * SPDX-License-Identifier: Apache-2.0
  *
  *

+ 23 - 23
examples/test/dhry.h

@@ -3,9 +3,9 @@
  *
  *
  *                   "DHRYSTONE" Benchmark Program
  *                   "DHRYSTONE" Benchmark Program
  *                   -----------------------------
  *                   -----------------------------
- *                                                                            
+ *
  *  Version:    C, Version 2.1
  *  Version:    C, Version 2.1
- *                                                                            
+ *
  *  File:       dhry.h (part 1 of 3)
  *  File:       dhry.h (part 1 of 3)
  *
  *
  *  Date:       May 25, 1988
  *  Date:       May 25, 1988
@@ -33,12 +33,12 @@
  *
  *
  *  Collection of Results:
  *  Collection of Results:
  *              Reinhold Weicker (address see above) and
  *              Reinhold Weicker (address see above) and
- *              
+ *
  *              Rick Richardson
  *              Rick Richardson
  *              PC Research. Inc.
  *              PC Research. Inc.
  *              94 Apple Orchard Drive
  *              94 Apple Orchard Drive
  *              Tinton Falls, NJ 07724
  *              Tinton Falls, NJ 07724
- *                      Phone:  (201) 389-8963 (9-17 EST)               
+ *                      Phone:  (201) 389-8963 (9-17 EST)
  *                      Usenet: ...!uunet!pcrat!rick
  *                      Usenet: ...!uunet!pcrat!rick
  *
  *
  *      Please send results to Rick Richardson and/or Reinhold Weicker.
  *      Please send results to Rick Richardson and/or Reinhold Weicker.
@@ -91,7 +91,7 @@
  *              version previously distributed by Reinhold Weicker.
  *              version previously distributed by Reinhold Weicker.
  *
  *
  *              At several places in the benchmark, code has been added,
  *              At several places in the benchmark, code has been added,
- *              but within the measurement loop only in branches that 
+ *              but within the measurement loop only in branches that
  *              are not executed. The intention is that optimizing compilers
  *              are not executed. The intention is that optimizing compilers
  *              should be prevented from moving code out of the measurement
  *              should be prevented from moving code out of the measurement
  *              loop, or from removing code altogether. Since the statements
  *              loop, or from removing code altogether. Since the statements
@@ -101,7 +101,7 @@
  *              still hold. Except for sophisticated optimizing compilers,
  *              still hold. Except for sophisticated optimizing compilers,
  *              execution times for this version should be the same as
  *              execution times for this version should be the same as
  *              for previous versions.
  *              for previous versions.
- *              
+ *
  *              Since it has proven difficult to subtract the time for the
  *              Since it has proven difficult to subtract the time for the
  *              measurement loop overhead in a correct way, the loop check
  *              measurement loop overhead in a correct way, the loop check
  *              has been made a part of the benchmark. This does have
  *              has been made a part of the benchmark. This does have
@@ -151,7 +151,7 @@
  *              -DTIME
  *              -DTIME
  *                      The "times" function of UNIX (returning process times)
  *                      The "times" function of UNIX (returning process times)
  *                      or the "time" function (returning wallclock time)
  *                      or the "time" function (returning wallclock time)
- *                      is used for measurement. 
+ *                      is used for measurement.
  *                      For single user machines, "time ()" is adequate. For
  *                      For single user machines, "time ()" is adequate. For
  *                      multi-user machines where you cannot get single-user
  *                      multi-user machines where you cannot get single-user
  *                      access, use the "times ()" function. If you have
  *                      access, use the "times ()" function. If you have
@@ -198,23 +198,23 @@
  *   different from the Ada version.]
  *   different from the Ada version.]
  *
  *
  *  The following program contains statements of a high level programming
  *  The following program contains statements of a high level programming
- *  language (here: C) in a distribution considered representative:           
+ *  language (here: C) in a distribution considered representative:
  *
  *
  *    assignments                  52 (51.0 %)
  *    assignments                  52 (51.0 %)
  *    control statements           33 (32.4 %)
  *    control statements           33 (32.4 %)
  *    procedure, function calls    17 (16.7 %)
  *    procedure, function calls    17 (16.7 %)
  *
  *
  *  103 statements are dynamically executed. The program is balanced with
  *  103 statements are dynamically executed. The program is balanced with
- *  respect to the three aspects:                                             
+ *  respect to the three aspects:
  *
  *
  *    - statement type
  *    - statement type
  *    - operand type
  *    - operand type
  *    - operand locality
  *    - operand locality
- *         operand global, local, parameter, or constant.                     
+ *         operand global, local, parameter, or constant.
  *
  *
- *  The combination of these three aspects is balanced only approximately.    
+ *  The combination of these three aspects is balanced only approximately.
  *
  *
- *  1. Statement Type:                                                        
+ *  1. Statement Type:
  *  -----------------             number
  *  -----------------             number
  *
  *
  *     V1 = V2                     9
  *     V1 = V2                     9
@@ -258,9 +258,9 @@
  *       library procedure    1
  *       library procedure    1
  *     X = F (...)
  *     X = F (...)
  *             function  call      6
  *             function  call      6
- *       user function        5                                         
- *       library function     1                                               
- *                                --                                          
+ *       user function        5
+ *       library function     1
+ *                                --
  *                                17       17
  *                                17       17
  *                                        ---
  *                                        ---
  *                                        103
  *                                        103
@@ -274,10 +274,10 @@
  *                          number    approximate
  *                          number    approximate
  *                                    percentage
  *                                    percentage
  *
  *
- *    Arithmetic             32          50.8                                 
+ *    Arithmetic             32          50.8
  *
  *
- *       +                     21          33.3                              
- *       -                      7          11.1                              
+ *       +                     21          33.3
+ *       -                      7          11.1
  *       *                      3           4.8
  *       *                      3           4.8
  *       / (int div)            1           1.6
  *       / (int div)            1           1.6
  *
  *
@@ -295,7 +295,7 @@
  *       && (AND-THEN)          1            1.6
  *       && (AND-THEN)          1            1.6
  *       |  (OR)                1            1.6
  *       |  (OR)                1            1.6
  *       !  (NOT)               2            3.2
  *       !  (NOT)               2            3.2
- * 
+ *
  *                           --          -----
  *                           --          -----
  *                           63          100.1
  *                           63          100.1
  *
  *
@@ -315,10 +315,10 @@
  *                           242       100.0 %
  *                           242       100.0 %
  *
  *
  *  When there is an access path leading to the final operand (e.g. a record
  *  When there is an access path leading to the final operand (e.g. a record
- *  component), only the final data type on the access path is counted.       
+ *  component), only the final data type on the access path is counted.
  *
  *
  *
  *
- *  4. Operand Locality:                                                      
+ *  4. Operand Locality:
  *  -------------------
  *  -------------------
  *                                number    approximate
  *                                number    approximate
  *                                          percentage
  *                                          percentage
@@ -375,7 +375,7 @@
                 /* for strcpy, strcmp */
                 /* for strcpy, strcmp */
 #include <rtthread.h>
 #include <rtthread.h>
 
 
-#define Null 0 
+#define Null 0
                 /* Value of a Null pointer */
                 /* Value of a Null pointer */
 #define true  1
 #define true  1
 #define false 0
 #define false 0
@@ -388,7 +388,7 @@ typedef char    Str_30 [31];
 typedef int     Arr_1_Dim [50];
 typedef int     Arr_1_Dim [50];
 typedef int     Arr_2_Dim [50] [50];
 typedef int     Arr_2_Dim [50] [50];
 
 
-typedef struct record 
+typedef struct record
     {
     {
     struct record *Ptr_Comp;
     struct record *Ptr_Comp;
     Enumeration    Discr;
     Enumeration    Discr;

+ 21 - 21
examples/test/dhry_1.c

@@ -3,9 +3,9 @@
  *
  *
  *                   "DHRYSTONE" Benchmark Program
  *                   "DHRYSTONE" Benchmark Program
  *                   -----------------------------
  *                   -----------------------------
- *                                                                            
+ *
  *  Version:    C, Version 2.1
  *  Version:    C, Version 2.1
- *                                                                            
+ *
  *  File:       dhry_1.c (part 2 of 3)
  *  File:       dhry_1.c (part 2 of 3)
  *
  *
  *  Date:       May 25, 1988
  *  Date:       May 25, 1988
@@ -14,8 +14,8 @@
  *
  *
  ****************************************************************************
  ****************************************************************************
  */
  */
- 
-#define NUMBER_OF_RUNS	1000000
+
+#define NUMBER_OF_RUNS  1000000
 
 
 #include "dhry.h"
 #include "dhry.h"
 #define printf rt_kprintf
 #define printf rt_kprintf
@@ -34,7 +34,7 @@ int             Arr_2_Glob [50] [50];
 Enumeration     Func_1 ();
 Enumeration     Func_1 ();
 
 
 /* forward declaration necessary since Enumeration may not simply be int */
 /* forward declaration necessary since Enumeration may not simply be int */
-  
+
 #ifndef REG
 #ifndef REG
         Boolean Reg = false;
         Boolean Reg = false;
 #define REG
 #define REG
@@ -71,7 +71,7 @@ void dhry_test(void)
   REG   int             Number_Of_Runs;
   REG   int             Number_Of_Runs;
 
 
   /* Initializations */
   /* Initializations */
-  
+
   Next_Ptr_Glob = (Rec_Pointer) rt_malloc (sizeof (Rec_Type));
   Next_Ptr_Glob = (Rec_Pointer) rt_malloc (sizeof (Rec_Type));
   Ptr_Glob = (Rec_Pointer) rt_malloc (sizeof (Rec_Type));
   Ptr_Glob = (Rec_Pointer) rt_malloc (sizeof (Rec_Type));
 
 
@@ -79,7 +79,7 @@ void dhry_test(void)
   Ptr_Glob->Discr                       = Ident_1;
   Ptr_Glob->Discr                       = Ident_1;
   Ptr_Glob->variant.var_1.Enum_Comp     = Ident_3;
   Ptr_Glob->variant.var_1.Enum_Comp     = Ident_3;
   Ptr_Glob->variant.var_1.Int_Comp      = 40;
   Ptr_Glob->variant.var_1.Int_Comp      = 40;
-  rt_strncpy (Ptr_Glob->variant.var_1.Str_Comp, 
+  rt_strncpy (Ptr_Glob->variant.var_1.Str_Comp,
           "DHRYSTONE PROGRAM, SOME STRING", sizeof(Ptr_Glob->variant.var_1.Str_Comp));
           "DHRYSTONE PROGRAM, SOME STRING", sizeof(Ptr_Glob->variant.var_1.Str_Comp));
   rt_strncpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING", sizeof(Str_1_Loc));
   rt_strncpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING", sizeof(Str_1_Loc));
 
 
@@ -114,9 +114,9 @@ void dhry_test(void)
   /***************/
   /***************/
   /* Start timer */
   /* Start timer */
   /***************/
   /***************/
-  
+
 // Add your timer initializing code here
 // Add your timer initializing code here
- 
+
   Begin_Time = rt_tick_get(); /* get start tick */
   Begin_Time = rt_tick_get(); /* get start tick */
 
 
   for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index)
   for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index)
@@ -169,8 +169,8 @@ void dhry_test(void)
   /* Stop timer */
   /* Stop timer */
   /**************/
   /**************/
 
 
-  End_Time = rt_tick_get();	// Get end tick
-  
+  End_Time = rt_tick_get(); // Get end tick
+
   printf ("Execution ends\n");
   printf ("Execution ends\n");
   printf ("\n");
   printf ("\n");
   printf ("Final values of the variables used in the benchmark:\n");
   printf ("Final values of the variables used in the benchmark:\n");
@@ -226,7 +226,7 @@ void dhry_test(void)
 
 
   User_Time = (End_Time - Begin_Time) / RT_TICK_PER_SECOND;
   User_Time = (End_Time - Begin_Time) / RT_TICK_PER_SECOND;
 
 
-  Microseconds = (float) User_Time * Mic_secs_Per_Second 
+  Microseconds = (float) User_Time * Mic_secs_Per_Second
                       / (float) Number_Of_Runs;
                       / (float) Number_Of_Runs;
   Dhrystones_Per_Second = (float) Number_Of_Runs / (float) User_Time;
   Dhrystones_Per_Second = (float) Number_Of_Runs / (float) User_Time;
 
 
@@ -237,7 +237,7 @@ void dhry_test(void)
   printf ("Dhrystones MIPS:                            ");
   printf ("Dhrystones MIPS:                            ");
   printf ("%6d \n", (int)(Dhrystones_Per_Second / 1757.0));
   printf ("%6d \n", (int)(Dhrystones_Per_Second / 1757.0));
   printf ("\n");
   printf ("\n");
-  
+
 }
 }
 
 
 Proc_1 (Ptr_Val_Par)
 Proc_1 (Ptr_Val_Par)
@@ -246,27 +246,27 @@ Proc_1 (Ptr_Val_Par)
 REG Rec_Pointer Ptr_Val_Par;
 REG Rec_Pointer Ptr_Val_Par;
     /* executed once */
     /* executed once */
 {
 {
-  REG Rec_Pointer Next_Record = Ptr_Val_Par->Ptr_Comp;  
+  REG Rec_Pointer Next_Record = Ptr_Val_Par->Ptr_Comp;
                                         /* == Ptr_Glob_Next */
                                         /* == Ptr_Glob_Next */
   /* Local variable, initialized with Ptr_Val_Par->Ptr_Comp,    */
   /* Local variable, initialized with Ptr_Val_Par->Ptr_Comp,    */
   /* corresponds to "rename" in Ada, "with" in Pascal           */
   /* corresponds to "rename" in Ada, "with" in Pascal           */
-  
-  structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); 
+
+  structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob);
   Ptr_Val_Par->variant.var_1.Int_Comp = 5;
   Ptr_Val_Par->variant.var_1.Int_Comp = 5;
-  Next_Record->variant.var_1.Int_Comp 
+  Next_Record->variant.var_1.Int_Comp
         = Ptr_Val_Par->variant.var_1.Int_Comp;
         = Ptr_Val_Par->variant.var_1.Int_Comp;
   Next_Record->Ptr_Comp = Ptr_Val_Par->Ptr_Comp;
   Next_Record->Ptr_Comp = Ptr_Val_Par->Ptr_Comp;
   Proc_3 (&Next_Record->Ptr_Comp);
   Proc_3 (&Next_Record->Ptr_Comp);
-    /* Ptr_Val_Par->Ptr_Comp->Ptr_Comp 
+    /* Ptr_Val_Par->Ptr_Comp->Ptr_Comp
                         == Ptr_Glob->Ptr_Comp */
                         == Ptr_Glob->Ptr_Comp */
   if (Next_Record->Discr == Ident_1)
   if (Next_Record->Discr == Ident_1)
     /* then, executed */
     /* then, executed */
   {
   {
     Next_Record->variant.var_1.Int_Comp = 6;
     Next_Record->variant.var_1.Int_Comp = 6;
-    Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp, 
+    Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp,
            &Next_Record->variant.var_1.Enum_Comp);
            &Next_Record->variant.var_1.Enum_Comp);
     Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp;
     Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp;
-    Proc_7 (Next_Record->variant.var_1.Int_Comp, 10, 
+    Proc_7 (Next_Record->variant.var_1.Int_Comp, 10,
            &Next_Record->variant.var_1.Int_Comp);
            &Next_Record->variant.var_1.Int_Comp);
   }
   }
   else /* not executed */
   else /* not executed */
@@ -281,7 +281,7 @@ Proc_2 (Int_Par_Ref)
 
 
 One_Fifty   *Int_Par_Ref;
 One_Fifty   *Int_Par_Ref;
 {
 {
-  One_Fifty  Int_Loc;  
+  One_Fifty  Int_Loc;
   Enumeration   Enum_Loc;
   Enumeration   Enum_Loc;
 
 
   Int_Loc = *Int_Par_Ref + 10;
   Int_Loc = *Int_Par_Ref + 10;

+ 6 - 6
examples/test/dhry_2.c

@@ -3,9 +3,9 @@
  *
  *
  *                   "DHRYSTONE" Benchmark Program
  *                   "DHRYSTONE" Benchmark Program
  *                   -----------------------------
  *                   -----------------------------
- *                                                                            
+ *
  *  Version:    C, Version 2.1
  *  Version:    C, Version 2.1
- *                                                                            
+ *
  *  File:       dhry_2.c (part 3 of 3)
  *  File:       dhry_2.c (part 3 of 3)
  *
  *
  *  Date:       May 25, 1988
  *  Date:       May 25, 1988
@@ -41,10 +41,10 @@ Enumeration *Enum_Ref_Par;
     *Enum_Ref_Par = Ident_4;
     *Enum_Ref_Par = Ident_4;
   switch (Enum_Val_Par)
   switch (Enum_Val_Par)
   {
   {
-    case Ident_1: 
+    case Ident_1:
       *Enum_Ref_Par = Ident_1;
       *Enum_Ref_Par = Ident_1;
       break;
       break;
-    case Ident_2: 
+    case Ident_2:
       if (Int_Glob > 100)
       if (Int_Glob > 100)
         /* then */
         /* then */
       *Enum_Ref_Par = Ident_1;
       *Enum_Ref_Par = Ident_1;
@@ -54,7 +54,7 @@ Enumeration *Enum_Ref_Par;
       *Enum_Ref_Par = Ident_2;
       *Enum_Ref_Par = Ident_2;
       break;
       break;
     case Ident_4: break;
     case Ident_4: break;
-    case Ident_5: 
+    case Ident_5:
       *Enum_Ref_Par = Ident_3;
       *Enum_Ref_Par = Ident_3;
       break;
       break;
   } /* switch */
   } /* switch */
@@ -63,7 +63,7 @@ Enumeration *Enum_Ref_Par;
 
 
 Proc_7 (Int_1_Par_Val, Int_2_Par_Val, Int_Par_Ref)
 Proc_7 (Int_1_Par_Val, Int_2_Par_Val, Int_Par_Ref)
 /**********************************************/
 /**********************************************/
-    /* executed three times                                      */ 
+    /* executed three times                                      */
     /* first call:      Int_1_Par_Val == 2, Int_2_Par_Val == 3,  */
     /* first call:      Int_1_Par_Val == 2, Int_2_Par_Val == 3,  */
     /*                  Int_Par_Ref becomes 7                    */
     /*                  Int_Par_Ref becomes 7                    */
     /* second call:     Int_1_Par_Val == 10, Int_2_Par_Val == 5, */
     /* second call:     Int_1_Par_Val == 10, Int_2_Par_Val == 5, */

+ 11 - 11
examples/test/hwtimer_test.c

@@ -35,8 +35,8 @@ int hwtimer(void)
         return -1;
         return -1;
     }
     }
 
 
-    /* 时间测量 */
-    /* 计数时钟设置(默认1Mhz或支持的最小计数频率) */
+    /* 鏃堕棿娴嬮噺 */
+    /* 璁℃暟鏃堕挓璁剧疆(榛樿�1Mhz鎴栨敮鎸佺殑鏈€灏忚�鏁伴�鐜�) */
     err = rt_device_control(dev, HWTIMER_CTRL_FREQ_SET, &freq);
     err = rt_device_control(dev, HWTIMER_CTRL_FREQ_SET, &freq);
     if (err != RT_EOK)
     if (err != RT_EOK)
     {
     {
@@ -44,13 +44,13 @@ int hwtimer(void)
         goto EXIT;
         goto EXIT;
     }
     }
 
 
-    /* 周期模式 */
+    /* 鍛ㄦ湡妯″紡 */
     mode = HWTIMER_MODE_PERIOD;
     mode = HWTIMER_MODE_PERIOD;
     err = rt_device_control(dev, HWTIMER_CTRL_MODE_SET, &mode);
     err = rt_device_control(dev, HWTIMER_CTRL_MODE_SET, &mode);
 
 
     tick = rt_tick_get();
     tick = rt_tick_get();
     rt_kprintf("Start Timer> Tick: %d\n", tick);
     rt_kprintf("Start Timer> Tick: %d\n", tick);
-    /* 设置定时器超时值并启动定时器 */
+    /* 璁剧疆瀹氭椂鍣ㄨ秴鏃跺€煎苟鍚�姩瀹氭椂鍣� */
     val.sec = t;
     val.sec = t;
     val.usec = 0;
     val.usec = 0;
     rt_kprintf("SetTime: Sec %d, Usec %d\n", val.sec, val.usec);
     rt_kprintf("SetTime: Sec %d, Usec %d\n", val.sec, val.usec);
@@ -62,22 +62,22 @@ int hwtimer(void)
     rt_kprintf("Sleep %d sec\n", t);
     rt_kprintf("Sleep %d sec\n", t);
     rt_thread_delay(t*RT_TICK_PER_SECOND);
     rt_thread_delay(t*RT_TICK_PER_SECOND);
 
 
-    /* 停止定时器 */
+    /* 鍋滄�瀹氭椂鍣� */
     err = rt_device_control(dev, HWTIMER_CTRL_STOP, RT_NULL);
     err = rt_device_control(dev, HWTIMER_CTRL_STOP, RT_NULL);
     rt_kprintf("Timer Stoped\n");
     rt_kprintf("Timer Stoped\n");
-    /* 读取计数 */
+    /* 璇诲彇璁℃暟 */
     rt_device_read(dev, 0, &val, sizeof(val));
     rt_device_read(dev, 0, &val, sizeof(val));
     rt_kprintf("Read: Sec = %d, Usec = %d\n", val.sec, val.usec);
     rt_kprintf("Read: Sec = %d, Usec = %d\n", val.sec, val.usec);
 
 
-    /* 定时执行回调函数 -- 单次模式 */
-    /* 设置超时回调函数 */
+    /* 瀹氭椂鎵ц�鍥炶皟鍑芥暟 -- 鍗曟�妯″紡 */
+    /* 璁剧疆瓒呮椂鍥炶皟鍑芥暟 */
     rt_device_set_rx_indicate(dev, timer_timeout_cb);
     rt_device_set_rx_indicate(dev, timer_timeout_cb);
 
 
-    /* 单次模式 */
+    /* 鍗曟�妯″紡 */
     mode = HWTIMER_MODE_PERIOD;
     mode = HWTIMER_MODE_PERIOD;
     err = rt_device_control(dev, HWTIMER_CTRL_MODE_SET, &mode);
     err = rt_device_control(dev, HWTIMER_CTRL_MODE_SET, &mode);
 
 
-    /* 设置定时器超时值并启动定时器 */
+    /* 璁剧疆瀹氭椂鍣ㄨ秴鏃跺€煎苟鍚�姩瀹氭椂鍣� */
     val.sec = t;
     val.sec = t;
     val.usec = 0;
     val.usec = 0;
     rt_kprintf("SetTime: Sec %d, Usec %d\n", val.sec, val.usec);
     rt_kprintf("SetTime: Sec %d, Usec %d\n", val.sec, val.usec);
@@ -87,7 +87,7 @@ int hwtimer(void)
         goto EXIT;
         goto EXIT;
     }
     }
 
 
-    /* 等待回调函数执行 */
+    /* 绛夊緟鍥炶皟鍑芥暟鎵ц� */
     rt_thread_delay((t + 1)*RT_TICK_PER_SECOND);
     rt_thread_delay((t + 1)*RT_TICK_PER_SECOND);
 
 
 EXIT:
 EXIT:

+ 25 - 25
examples/test/net_test.c

@@ -7,7 +7,7 @@
 #include <lwip/sockets.h>
 #include <lwip/sockets.h>
 #include <lwip/init.h>
 #include <lwip/init.h>
 
 
-/* 
+/*
  * UDP echo server
  * UDP echo server
  */
  */
 #define UDP_ECHO_PORT   7
 #define UDP_ECHO_PORT   7
@@ -30,12 +30,12 @@ void udpecho_entry(void *parameter)
     while(1)
     while(1)
     {
     {
         /* received data to buffer */
         /* received data to buffer */
-#if LWIP_VERSION_MINOR==3U 
+#if LWIP_VERSION_MINOR==3U
         buf = netconn_recv(conn);
         buf = netconn_recv(conn);
 #else
 #else
         netconn_recv(conn, &buf);
         netconn_recv(conn, &buf);
 #endif
 #endif
-        if(buf == NULL)	
+        if(buf == NULL)
         {
         {
             break;
             break;
         }
         }
@@ -46,25 +46,25 @@ void udpecho_entry(void *parameter)
         netconn_connect(conn, addr, port);
         netconn_connect(conn, addr, port);
 
 
         /* reset address, and send to client */
         /* reset address, and send to client */
-#if LWIP_VERSION_MINOR==3U 		
+#if LWIP_VERSION_MINOR==3U
         buf->addr = RT_NULL;
         buf->addr = RT_NULL;
 #else
 #else
         buf->addr = *IP_ADDR_ANY;
         buf->addr = *IP_ADDR_ANY;
 #endif
 #endif
-		
+
         netconn_send(conn, buf);
         netconn_send(conn, buf);
-		
+
         /* release buffer */
         /* release buffer */
         netbuf_delete(buf);
         netbuf_delete(buf);
     }
     }
-	
+
     netconn_delete(conn);
     netconn_delete(conn);
 }
 }
 /*
 /*
  * UDP socket echo server
  * UDP socket echo server
  */
  */
-#define UDP_SOCKET_ECHO_PORT	700
-#define UDP_SOCKET_BUFFER_SIZE	4096
+#define UDP_SOCKET_ECHO_PORT    700
+#define UDP_SOCKET_BUFFER_SIZE  4096
 rt_thread_t udpecho_socket_tid = RT_NULL;
 rt_thread_t udpecho_socket_tid = RT_NULL;
 void udpecho_socket_entry(void *parameter)
 void udpecho_socket_entry(void *parameter)
 {
 {
@@ -110,7 +110,7 @@ void udpecho_socket_entry(void *parameter)
         /* try to receive from UDP socket */
         /* try to receive from UDP socket */
         bytes_read = recvfrom(sock, recv_data, UDP_SOCKET_BUFFER_SIZE, 0,
         bytes_read = recvfrom(sock, recv_data, UDP_SOCKET_BUFFER_SIZE, 0,
             (struct sockaddr *)&client_addr, &addr_len);
             (struct sockaddr *)&client_addr, &addr_len);
-	    
+
         /* send back */
         /* send back */
         sendto(sock, recv_data, bytes_read, 0,
         sendto(sock, recv_data, bytes_read, 0,
             (struct sockaddr *)&client_addr, addr_len);
             (struct sockaddr *)&client_addr, addr_len);
@@ -148,7 +148,7 @@ void tcpecho_entry(void *parameter)
     while(1)
     while(1)
     {
     {
         /* Grab new connection. */
         /* Grab new connection. */
-#if LWIP_VERSION_MINOR==3U 
+#if LWIP_VERSION_MINOR==3U
         newconn = netconn_accept(conn);
         newconn = netconn_accept(conn);
         if(newconn != NULL)
         if(newconn != NULL)
 #else
 #else
@@ -172,25 +172,25 @@ void tcpecho_entry(void *parameter)
                     err = netconn_write(newconn, data, len, NETCONN_COPY);
                     err = netconn_write(newconn, data, len, NETCONN_COPY);
                     if(err != ERR_OK)
                     if(err != ERR_OK)
                     {
                     {
-                        break;			    
+                        break;
                     }
                     }
                 }while(netbuf_next(buf) >= 0);
                 }while(netbuf_next(buf) >= 0);
-		    
+
                 netbuf_delete(buf);
                 netbuf_delete(buf);
             }
             }
             /* Close connection and discard connection identifier. */
             /* Close connection and discard connection identifier. */
             netconn_delete(newconn);
             netconn_delete(newconn);
         }
         }
     }
     }
-	
+
     netconn_delete(conn);
     netconn_delete(conn);
 }
 }
 
 
 /*
 /*
  * TCP socket echo server
  * TCP socket echo server
  */
  */
-#define TCP_SOCKET_ECHO_PORT	700
-#define TCP_SOCKET_BUFFER_SIZE	4096
+#define TCP_SOCKET_ECHO_PORT    700
+#define TCP_SOCKET_BUFFER_SIZE  4096
 rt_thread_t tcpecho_socket_tid = RT_NULL;
 rt_thread_t tcpecho_socket_tid = RT_NULL;
 void tcpecho_socket_entry(void *parameter)
 void tcpecho_socket_entry(void *parameter)
 {
 {
@@ -241,7 +241,7 @@ void tcpecho_socket_entry(void *parameter)
         if (connected > 0)
         if (connected > 0)
         {
         {
             int timeout;
             int timeout;
-			
+
             /* set timeout option */
             /* set timeout option */
             timeout = 5000; /* 5second */
             timeout = 5000; /* 5second */
             setsockopt(connected, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout));
             setsockopt(connected, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout));
@@ -285,8 +285,8 @@ void net_test(void)
     {
     {
         udpecho_tid = rt_thread_create("uecho",
         udpecho_tid = rt_thread_create("uecho",
                                        udpecho_entry,
                                        udpecho_entry,
-                                       RT_NULL, 
-                                       512, 
+                                       RT_NULL,
+                                       512,
                                        RT_THREAD_PRIORITY_MAX/2, 5);
                                        RT_THREAD_PRIORITY_MAX/2, 5);
         if (udpecho_tid != RT_NULL)
         if (udpecho_tid != RT_NULL)
         {
         {
@@ -299,7 +299,7 @@ void net_test(void)
         udpecho_socket_tid = rt_thread_create("uecho_s",
         udpecho_socket_tid = rt_thread_create("uecho_s",
                                               udpecho_socket_entry,
                                               udpecho_socket_entry,
                                               RT_NULL,
                                               RT_NULL,
-                                              512, 
+                                              512,
                                               RT_THREAD_PRIORITY_MAX/2 + 1, 5);
                                               RT_THREAD_PRIORITY_MAX/2 + 1, 5);
         if (udpecho_socket_tid != RT_NULL)
         if (udpecho_socket_tid != RT_NULL)
         {
         {
@@ -310,22 +310,22 @@ void net_test(void)
     if (tcpecho_tid == RT_NULL)
     if (tcpecho_tid == RT_NULL)
     {
     {
         tcpecho_tid = rt_thread_create("techo",
         tcpecho_tid = rt_thread_create("techo",
-                                       tcpecho_entry, 
+                                       tcpecho_entry,
                                        RT_NULL,
                                        RT_NULL,
-                                       512, 
+                                       512,
                                        RT_THREAD_PRIORITY_MAX/2 + 2, 5);
                                        RT_THREAD_PRIORITY_MAX/2 + 2, 5);
         if (tcpecho_tid != RT_NULL)
         if (tcpecho_tid != RT_NULL)
         {
         {
             rt_thread_startup(tcpecho_tid);
             rt_thread_startup(tcpecho_tid);
         }
         }
     }
     }
-	
+
     if (tcpecho_socket_tid == RT_NULL)
     if (tcpecho_socket_tid == RT_NULL)
     {
     {
         tcpecho_socket_tid = rt_thread_create("techo_s",
         tcpecho_socket_tid = rt_thread_create("techo_s",
-                                              tcpecho_socket_entry, 
+                                              tcpecho_socket_entry,
                                               RT_NULL,
                                               RT_NULL,
-                                              512, 
+                                              512,
                                               RT_THREAD_PRIORITY_MAX/2 + 3, 5);
                                               RT_THREAD_PRIORITY_MAX/2 + 3, 5);
     if (tcpecho_socket_tid != RT_NULL)
     if (tcpecho_socket_tid != RT_NULL)
     {
     {

+ 19 - 19
examples/test/rtc_test.c

@@ -21,48 +21,48 @@
  * Date           Author         Notes
  * Date           Author         Notes
  * 2018-01-15     Liu2guang      the first version.
  * 2018-01-15     Liu2guang      the first version.
  */
  */
-#include <rtthread.h> 
-#include <rtdevice.h> 
+#include <rtthread.h>
+#include <rtdevice.h>
 
 
 int rtc_test(void)
 int rtc_test(void)
-{    
+{
     uint8_t i;
     uint8_t i;
     time_t now;
     time_t now;
 
 
-    rt_err_t ret = RT_EOK; 
-    
+    rt_err_t ret = RT_EOK;
+
     rt_kprintf("[RTC Test]RTC Test Start...\n");
     rt_kprintf("[RTC Test]RTC Test Start...\n");
     rt_thread_delay(RT_TICK_PER_SECOND);
     rt_thread_delay(RT_TICK_PER_SECOND);
-    rt_kprintf("[RTC Test]Set RTC 2017-04-01 12:30:46\n\n"); 
+    rt_kprintf("[RTC Test]Set RTC 2017-04-01 12:30:46\n\n");
     rt_thread_delay(RT_TICK_PER_SECOND);
     rt_thread_delay(RT_TICK_PER_SECOND);
-    
-    ret = set_date(2017, 4, 1); 
+
+    ret = set_date(2017, 4, 1);
     if(ret != RT_EOK)
     if(ret != RT_EOK)
     {
     {
-        rt_kprintf("[RTC Test]Set RTC Date failed\n"); 
+        rt_kprintf("[RTC Test]Set RTC Date failed\n");
         return RT_ERROR;
         return RT_ERROR;
     }
     }
-    
+
     rt_thread_delay(RT_TICK_PER_SECOND);
     rt_thread_delay(RT_TICK_PER_SECOND);
-    
-    ret = set_time(12, 30, 46); 
+
+    ret = set_time(12, 30, 46);
     if(ret != RT_EOK)
     if(ret != RT_EOK)
     {
     {
-        rt_kprintf("[RTC Test]Set RTC Time failed\n"); 
+        rt_kprintf("[RTC Test]Set RTC Time failed\n");
         return RT_ERROR;
         return RT_ERROR;
     }
     }
-    
+
     rt_thread_delay(RT_TICK_PER_SECOND);
     rt_thread_delay(RT_TICK_PER_SECOND);
-    
+
     for(i = 0; i < 10; i++)
     for(i = 0; i < 10; i++)
     {
     {
-        rt_kprintf("[RTC Test]Read RTC Date and Time: "); 
+        rt_kprintf("[RTC Test]Read RTC Date and Time: ");
         now = time(RT_NULL);
         now = time(RT_NULL);
         rt_kprintf("%s", ctime(&now));
         rt_kprintf("%s", ctime(&now));
-        
+
         rt_thread_delay(RT_TICK_PER_SECOND);
         rt_thread_delay(RT_TICK_PER_SECOND);
     }
     }
-    
+
     rt_kprintf("\n");
     rt_kprintf("\n");
 
 
     return RT_EOK;
     return RT_EOK;
@@ -70,5 +70,5 @@ int rtc_test(void)
 #ifdef RT_USING_FINSH
 #ifdef RT_USING_FINSH
 #include <finsh.h>
 #include <finsh.h>
 FINSH_FUNCTION_EXPORT(rtc_test, rtc drive test. e.g: rtc_test());
 FINSH_FUNCTION_EXPORT(rtc_test, rtc drive test. e.g: rtc_test());
-MSH_CMD_EXPORT(rtc_test, rtc drive test. e.g: rtc_test()); 
+MSH_CMD_EXPORT(rtc_test, rtc drive test. e.g: rtc_test());
 #endif
 #endif

+ 1 - 1
examples/ulog/ulog_example.c

@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
  *
  *
  * SPDX-License-Identifier: Apache-2.0
  * SPDX-License-Identifier: Apache-2.0
  *
  *