uname: correct cut/paste error
touch: add long options

function                                             old     new   delta
static.longopts                                      137     162     +25
touch_main                                           221     231     +10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 35/0)               Total: 35 bytes

diff --git a/coreutils/touch.c b/coreutils/touch.c
index 92f2023..2019154 100644
--- a/coreutils/touch.c
+++ b/coreutils/touch.c
@@ -41,6 +41,13 @@
 int touch_main(int argc UNUSED_PARAM, char **argv)
 {
 #if ENABLE_DESKTOP
+#if ENABLE_GETOPT_LONG
+	static const char longopts[] ALIGN1 =
+		/* name, has_arg, val */
+		"no-create\0"         No_argument       "c"
+		"reference\0"         Required_argument "r"
+	;
+#endif
 	struct utimbuf timebuf;
 	char *reference_file = NULL;
 #else
@@ -49,11 +56,18 @@
 #endif
 	int fd;
 	int status = EXIT_SUCCESS;
-	int flags = getopt32(argv, "c" USE_DESKTOP("r:")
+	int opts;
+
+#if ENABLE_DESKTOP
+#if ENABLE_GETOPT_LONG
+	applet_long_options = longopts;
+#endif
+#endif
+	opts = getopt32(argv, "c" USE_DESKTOP("r:")
 				/*ignored:*/ "fma"
 				USE_DESKTOP(, &reference_file));
 
-	flags &= 1; /* only -c bit is left */
+	opts &= 1; /* only -c bit is left */
 	argv += optind;
 	if (!*argv) {
 		bb_show_usage();
@@ -69,7 +83,7 @@
 	do {
 		if (utime(*argv, reference_file ? &timebuf : NULL)) {
 			if (errno == ENOENT) { /* no such file */
-				if (flags) { /* creation is disabled, so ignore */
+				if (opts) { /* creation is disabled, so ignore */
 					continue;
 				}
 				/* Try to create the file. */