Procházet zdrojové kódy

fixed the mismatch of device definitions in rtdef.h and finsh shell; add line comment in finsh shell.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2136 bbd45198-f89e-11dd-88c7-29a3b14d5316
bernard.xiong@gmail.com před 13 roky
rodič
revize
e86bd68278

+ 3 - 4
components/finsh/cmd.c

@@ -356,7 +356,8 @@ static long _list_device(struct rt_list_node *list)
         "CAN Device",
         "RTC",
         "Sound Device",
-        "Graphic Device",
+        "Graphic Device",
+		"I2C Bus",
         "I2C Device",
         "USB Slave Device",
         "USB Host Bus",
@@ -401,12 +402,10 @@ int list_module(void)
     for (node = list->next; node != list; node = node->next)
     {
         module = (struct rt_module*)(rt_list_entry(node, struct rt_object, list));
-        rt_kprintf("%-16s ", module->parent.name);
-        rt_kprintf("%-04d \n", module->nref);
+        rt_kprintf("%-16.*s %-04d\n", RT_NAME_MAX, module->parent.name, module->nref);
     }
 
     return 0;
-
 }
 
 FINSH_FUNCTION_EXPORT(list_module, list module in system)

+ 11 - 1
components/finsh/finsh_token.c

@@ -207,7 +207,17 @@ static void token_run(struct finsh_token* self)
 			break;
 
 		case '/':
-			self->current_token = finsh_token_type_div;
+			ch = token_next_char(self);
+			if (ch == '/')
+			{
+				/* line comments, set to end of file */
+				self->current_token = finsh_token_type_eof;
+			}
+			else
+			{
+				token_prev_char(self);
+				self->current_token = finsh_token_type_div;
+			}
 			break;
 
 		case '<':

+ 1 - 0
components/finsh/finsh_token.h

@@ -36,6 +36,7 @@ enum finsh_token_type
 	finsh_token_type_bitwise,			/* ~		*/
 	finsh_token_type_shl,				/* <<		*/
 	finsh_token_type_shr,				/* >>		*/
+	finsh_token_type_comments, 			/* //       */
 	/*-- data type --*/
 	finsh_token_type_void,				/* void		*/
 	finsh_token_type_char, 				/* char		*/