X-Git-Url: https://git.xinqibao.xyz/st.git/blobdiff_plain/33da67dac035b0d592f984bce90aec8d815b38a8..67d0cb65d0794e2d91e72e5fa1e3612172e5812e:/arg.h?ds=inline

diff --git a/arg.h b/arg.h
index 4df77a7..a22e019 100644
--- a/arg.h
+++ b/arg.h
@@ -10,8 +10,8 @@ extern char *argv0;
 
 /* use main(int argc, char *argv[]) */
 #define ARGBEGIN	for (argv0 = *argv, argv++, argc--;\
-					argv[0] && argv[0][1]\
-					&& argv[0][0] == '-';\
+					argv[0] && argv[0][0] == '-'\
+					&& argv[0][1];\
 					argc--, argv++) {\
 				char argc_;\
 				char **argv_;\
@@ -21,43 +21,30 @@ extern char *argv0;
 					argc--;\
 					break;\
 				}\
-				for (brk_ = 0, argv[0]++, argv_ = argv;\
-						argv[0][0] && !brk_;\
-						argv[0]++) {\
+				int i_;\
+				for (i_ = 1, brk_ = 0, argv_ = argv;\
+						argv[0][i_] && !brk_;\
+						i_++) {\
 					if (argv_ != argv)\
 						break;\
-					argc_ = argv[0][0];\
+					argc_ = argv[0][i_];\
 					switch (argc_)
 
-/* Handles obsolete -NUM syntax */
-#define ARGNUM				case '0':\
-					case '1':\
-					case '2':\
-					case '3':\
-					case '4':\
-					case '5':\
-					case '6':\
-					case '7':\
-					case '8':\
-					case '9'
-
 #define ARGEND			}\
 			}
 
 #define ARGC()		argc_
 
-#define ARGNUMF(base)	(brk_ = 1, estrtol(argv[0], (base)))
-
-#define EARGF(x)	((argv[0][1] == '\0' && argv[1] == NULL)?\
+#define EARGF(x)	((argv[0][i_+1] == '\0' && argv[1] == NULL)?\
 				((x), abort(), (char *)0) :\
-				(brk_ = 1, (argv[0][1] != '\0')?\
-					(&argv[0][1]) :\
+				(brk_ = 1, (argv[0][i_+1] != '\0')?\
+					(&argv[0][i_+1]) :\
 					(argc--, argv++, argv[0])))
 
-#define ARGF()		((argv[0][1] == '\0' && argv[1] == NULL)?\
+#define ARGF()		((argv[0][i_+1] == '\0' && argv[1] == NULL)?\
 				(char *)0 :\
-				(brk_ = 1, (argv[0][1] != '\0')?\
-					(&argv[0][1]) :\
+				(brk_ = 1, (argv[0][i_+1] != '\0')?\
+					(&argv[0][i_+1]) :\
 					(argc--, argv++, argv[0])))
 
 #endif