23#define lok ok_(__FILE__,line)
25#define run_regedit_exe(c) run_regedit_exe_(__LINE__,c)
70#define exec_import_str(c) import_reg(__LINE__,c,FALSE)
71#define exec_import_wstr(c) import_reg(__LINE__,c,TRUE)
85 if (!wstr)
return FALSE;
104#define TODO_REG_TYPE (0x0001u)
105#define TODO_REG_SIZE (0x0002u)
106#define TODO_REG_DATA (0x0004u)
107#define TODO_REG_COMPARE (0x0008u)
110#define verify_reg(k,v,t,d,s,todo) verify_reg_(__LINE__,k,v,t,d,s,todo)
126 lok(
type == exp_type,
"got wrong type %d, expected %d\n",
type, exp_type);
128 lok(
size == exp_size,
"got wrong size %d, expected %d\n",
size, exp_size);
136#define verify_reg_nonexist(k,n) r_verify_reg_nonexist(__LINE__,k,n)
143 (value_name && *value_name) ? value_name :
"(Default)", lr);
146#define open_key(b,p,s,k) open_key_(__LINE__,b,p,s,k)
155#define close_key(k) close_key_(__LINE__,k)
164#define verify_key(k,s) verify_key_(__LINE__,k,s)
177#define verify_key_nonexist(k,s) verify_key_nonexist_(__LINE__,k,s)
191#define add_key(k,p,s) add_key_(__LINE__,k,p,s)
201#define delete_key(k,p) delete_key_(__LINE__,k,p)
217 char *subkey_name =
NULL;
218 DWORD max_subkey_len, subkey_len;
219 static const char empty[1];
239 subkey_len = max_subkey_len;
255#define add_value(k,n,t,d,s) add_value_(__LINE__,k,n,t,d,s)
265#define delete_value(k,n) delete_value_(__LINE__,k,n)
274#define KEY_BASE "Software\\Wine\\regedit_test"
280 char exp_binary[] = {0xAA,0xBB,0xCC,0x11};
289 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
290 "\"TestValue\"=\"AValue\"\n");
295 "[HKEY_CURRENT_USER\\" KEY_BASE "]\r\n"
296 "\"TestValue2\"=\"BValue\"\r\n");
300 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
301 "\"TestValue3\"=\"Value\"\n");
305 "[HKEY_CURRENT_USER\\" KEY_BASE "]\r"
306 "\"TestValue4\"=\"DValue\"\r");
310 "[HKEY_CURRENT_USER\\" KEY_BASE "]\r"
311 "\"TestValue5\"=\"Value\"\r");
315 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
316 "\"TestDword\"=dword:00000017\n");
320 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
321 "\"TestBinary\"=hex:aa,bb,cc,11\n");
325 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
326 "\"With=Equals\"=\"asdf\"\n");
330 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
331 "\"Empty string\"=\"\"\n"
332 "\"\"=\"Default registry value\"\n\n");
337 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
338 "\"Line1\"=\"Value1\"\n\n"
339 "\"Line2\"=\"Value2\"\n\n\n"
340 "\"Line3\"=\"Value3\"\n\n\n\n"
341 "\"Line4\"=\"Value4\"\n\n");
348 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
349 "\"Wine1\"=dword:00000782\n\n"
350 "\"Wine2\"=\"Test Value\"\n"
351 "\"Wine3\"=hex(7):4c,69,6e,65,20,\\\n"
352 " 63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n"
356 "\"Wine4\"=dword:12345678\n\n");
366 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
367 "\"Wine5\"=\"No newline\"");
371 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
372 "\"Wine6\"=dword:00000050\n\n"
373 "\"Wine7\"=\"No newline\"");
379 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
380 "\"Wine8a\"=dword:1\n"
381 "\"Wine8b\"=dword:4444\n\n");
388 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
389 "\"Wine9a\"=hex(2):4c,69,6e,65,00\n"
390 "\"Wine9b\"=\"Value 1\"\n"
391 "\"Wine9c\"=hex(2):4c,69,6e,65\\\n"
392 "\"Wine9d\"=\"Value 2\"\n"
393 "\"Wine9e\"=hex(2):4c,69,6e,65,\\\n"
394 "\"Wine9f\"=\"Value 3\"\n"
395 "\"Wine9g\"=\"Value 4\"\n\n");
405 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
406 "\"double\\\"quote\"=\"valid \\\"or\\\" not\"\n"
407 "\"single'quote\"=dword:00000008\n\n");
414 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
415 "\"Wine10a\"=hex(0):56,00,61,00,6c,00,75,00,65,00,00,00\n"
416 "\"Wine10b\"=hex(0):56,00,61,00,6c,00,\\\n"
417 " 75,00,65,00,00,00\n"
418 "\"Wine10c\"=hex(0):56,00,61,00,\\;comment\n"
421 "\"Wine10d\"=hex(0):56,00,61,00,\\;comment\n"
424 "\"Wine10e\"=hex(0):56,00,61,00,\\;comment\n"
425 " 6c,00,75,00,;comment\n"
434 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
435 "\"Wine11a\"=hex(2):25,50,41,54,48,25,00\n"
436 "\"Wine11b\"=hex(2):25,50,41,\\\n"
438 "\"Wine11c\"=hex(2):25,50,41,\\;comment\n"
441 "\"Wine11d\"=hex(2):25,50,41,\\;comment\n"
444 "\"Wine11e\"=hex(2):25,50,41,\\;comment\n"
467 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
468 "\"Wine12a\"=hex:11,22,33,44,55,66,77,88\n"
469 "\"Wine12b\"=hex:11,22,33,44,\\\n"
471 "\"Wine12c\"=hex:11,22,33,44,\\;comment\n"
474 "\"Wine12d\"=hex:11,22,33,44,\\;comment\n"
477 "\"Wine12e\"=hex:11,22,33,44,\\;comment\n"
480 hex[0] = 0x11;
hex[1] = 0x22;
hex[2] = 0x33;
hex[3] = 0x44;
481 hex[4] = 0x55;
hex[5] = 0x66;
hex[6] = 0x77;
hex[7] = 0x88;
490 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey\"1]\n"
491 "\"Wine\\\\31\"=\"Test value\"\n\n");
492 open_key(hkey,
"Subkey\"1", 0, &subkey);
498 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey/2]\n"
499 "\"123/\\\"4;'5\"=\"Random value name\"\n\n");
500 open_key(hkey,
"Subkey/2", 0, &subkey);
507 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
508 "\"Wine13a\"=hex(0):56,61,6c,75,65,00\n"
509 "\"Wine13b\"=hex(10):56,61,6c,75,65,00\n"
510 "\"Wine13c\"=hex(100):56,61,6c,75,65,00\n"
511 "\"Wine13d\"=hex(1000):56,61,6c,75,65,00\n"
512 "\"Wine13e\"=hex(7fff):56,61,6c,75,65,00\n"
513 "\"Wine13f\"=hex(ffff):56,61,6c,75,65,00\n"
514 "\"Wine13g\"=hex(7fffffff):56,61,6c,75,65,00\n"
515 "\"Wine13h\"=hex(ffffffff):56,61,6c,75,65,00\n"
516 "\"Wine13i\"=hex(100000000):56,61,6c,75,65,00\n"
517 "\"Wine13j\"=hex(0x2):56,61,6c,75,65,00\n"
518 "\"Wine13k\"=hex(0X2):56,61,6c,75,65,00\n"
519 "\"Wine13l\"=hex(x2):56,61,6c,75,65,00\n\n");
521 verify_reg(hkey,
"Wine13b", 0x10,
"Value", 6, 0);
522 verify_reg(hkey,
"Wine13c", 0x100,
"Value", 6, 0);
523 verify_reg(hkey,
"Wine13d", 0x1000,
"Value", 6, 0);
524 verify_reg(hkey,
"Wine13e", 0x7fff,
"Value", 6, 0);
525 verify_reg(hkey,
"Wine13f", 0xffff,
"Value", 6, 0);
526 verify_reg(hkey,
"Wine13g", 0x7fffffff,
"Value", 6, 0);
527 verify_reg(hkey,
"Wine13h", 0xffffffff,
"Value", 6, 0);
534 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
535 "\"Wine14a\"=hex(7):4c,69,6e,65,20, \\\n"
536 " 63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n"
537 "\"Wine14b\"=hex(7):4c,69,6e,65,20,\t\\\n"
538 " 63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n\n");
543 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
544 "\"Wine15\"=hex(2):25,50,41,54,48,25,00,\n\n");
548 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
549 "\"Wine16\"=hex(2):\\\n"
550 " 25,48,4f,4d,45,25,00\n\n");
554 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
555 "\"Wine17a\"=hex(0):56,61,6c,75,65,\\");
559 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
560 "\"Wine17b\"=hex(2):25,50,41,54,48,25,\\");
564 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
565 "\"Wine17c\"=hex:11,22,33,44,55,\\");
569 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
570 "\"Wine17d\"=hex(7):4c,69,6e,65,\\");
574 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
575 "\"Wine17e\"=hex(100):56,61,6c,75,65,\\");
576 verify_reg(hkey,
"Wine17e", 0x100,
"Value", 5, 0);
579 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
580 "\"Wine18a\"=hex(7):4c,69,6e,65,00,00\n"
581 "\"Wine18b\"=hex(7):4c,69,6e,65,20,\\\n"
582 " 63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n"
583 "\"Wine18c\"=hex(7):4c,69,6e,65,20,\\;comment\n"
584 " 63,6f,6e,63,61,74,\\\n"
585 " 65,6e,61,74,69,6f,6e,00,00\n"
586 "\"Wine18d\"=hex(7):4c,69,6e,65,20,\\;comment\n"
587 " 63,6f,6e,63,61,74,\n"
588 " 65,6e,61,74,69,6f,6e,00,00\n"
589 "\"Wine18e\"=hex(7):4c,69,6e,65,20,\\\n"
590 " 63,6f,6e,63,61,74,;comment\n"
591 " 65,6e,61,74,69,6f,6e,00,00\n\n");
613 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
614 "\"Wine19a\"=hex(100):25,50,41,54,48,25,00\n"
615 "\"Wine19b\"=hex(100):25,50,41,\\\n"
617 "\"Wine19c\"=hex(100):25,50,41,\\;comment\n"
620 "\"Wine19d\"=hex(100):25,50,41,\\;comment\n"
623 "\"Wine19e\"=hex(100):25,50,41,\\;comment\n"
626 verify_reg(hkey,
"Wine19a", 0x100,
"%PATH%", 7, 0);
627 verify_reg(hkey,
"Wine19b", 0x100,
"%PATH%", 7, 0);
628 verify_reg(hkey,
"Wine19c", 0x100,
"%PATH%", 7, 0);
629 verify_reg(hkey,
"Wine19d", 0x100,
"%PATH", 5, 0);
630 verify_reg(hkey,
"Wine19e", 0x100,
"%PATH", 5, 0);
634 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
635 "\"Wine20a\"=hex(7):4c,69,6e,65\n"
636 "\"Wine20b\"=hex(7):4c,69,6e,65,\n"
637 "\"Wine20c\"=hex(7):4c,69,6e,65,00\n"
638 "\"Wine20d\"=hex(7):4c,69,6e,65,00,\n"
639 "\"Wine20e\"=hex(7):4c,69,6e,65,00,00\n"
640 "\"Wine20f\"=hex(7):4c,69,6e,65,00,00,\n\n");
649 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
650 "\"Wine21a\"=hex(2):25,50,41,54,48,25\n"
651 "\"Wine21b\"=hex(2):25,50,41,54,48,25,\n"
652 "\"Wine21c\"=hex(2):25,50,41,54,48,25,00\n"
653 "\"Wine21d\"=hex(2):25,50,41,54,48,25,00,\n\n");
660 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
661 "\"Wine22a\"=hex(1):\n"
662 "\"Wine22b\"=hex(2):\n"
663 "\"Wine22c\"=hex(3):\n"
664 "\"Wine22d\"=hex(4):\n"
665 "\"Wine22e\"=hex(7):\n"
666 "\"Wine22f\"=hex(100):\n"
667 "\"Wine22g\"=hex(abcd):\n"
669 "\"Wine22i\"=hex(0):\n\n");
682 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
683 "\"Wine23a\"=\"\\\\0\"\n"
684 "\"Wine23b\"=\"\\\\0\\\\0\"\n"
685 "\"Wine23c\"=\"Value1\\\\0\"\n"
686 "\"Wine23d\"=\"Value2\\\\0\\\\0\\\\0\\\\0\"\n"
687 "\"Wine23e\"=\"Value3\\\\0Value4\"\n"
688 "\"Wine23f\"=\"\\\\0Value5\"\n\n");
698 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
699 "\"count/up\"=\"one/two/three\"\n"
700 "\"\\\\foo\\\\bar\"=\"\"\n\n"
701 "[HKEY_CURRENT_USER\\" KEY_BASE "\\https://winehq.org]\n\n");
715 char exp_binary[] = {0xAA,0xBB,0xCC,0x11};
724 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
725 "\"TestValue\"=\"AValue\"\n");
730 "[HKEY_CURRENT_USER\\" KEY_BASE "]\r\n"
731 "\"TestValue2\"=\"BValue\"\r\n");
735 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
736 "\"TestValue3\"=\"Value\"\n");
740 "[HKEY_CURRENT_USER\\" KEY_BASE "]\r"
741 "\"TestValue4\"=\"DValue\"\r");
745 "[HKEY_CURRENT_USER\\" KEY_BASE "]\r"
746 "\"TestValue5\"=\"Value\"\r");
750 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
751 "\"TestDword\"=dword:00000017\n");
755 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
756 "\"TestBinary\"=hex:aa,bb,cc,11\n");
760 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
761 "\"With=Equals\"=\"asdf\"\n");
765 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
766 "\"Empty string\"=\"\"\n"
767 "\"\"=\"Default registry value\"\n\n");
772 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
773 "\"Line1\"=\"Value1\"\n\n"
774 "\"Line2\"=\"Value2\"\n\n\n"
775 "\"Line3\"=\"Value3\"\n\n\n\n"
776 "\"Line4\"=\"Value4\"\n\n");
783 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
784 "\"Wine1\"=dword:00000782\n\n"
785 "\"Wine2\"=\"Test Value\"\n"
786 "\"Wine3\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n"
787 " 63,00,6f,00,6e,00,63,00,61,00,74,00,\\\n"
788 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n"
792 "\"Wine4\"=dword:12345678\n\n");
802 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
803 "\"Wine5\"=\"No newline\"");
807 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
808 "\"Wine6\"=dword:00000050\n\n"
809 "\"Wine7\"=\"No newline\"");
815 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
816 "\"Wine8a\"=dword:1\n"
817 "\"Wine8b\"=dword:4444\n\n");
824 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
825 "\"Wine9a\"=hex(2):4c,00,69,00,6e,00,65,00,00,00\n"
826 "\"Wine9b\"=\"Value 1\"\n"
827 "\"Wine9c\"=hex(2):4c,00,69,00,6e,00,65,00\\\n"
828 "\"Wine9d\"=\"Value 2\"\n"
829 "\"Wine9e\"=hex(2):4c,00,69,00,6e,00,65,00,\\\n"
830 "\"Wine9f\"=\"Value 3\"\n"
831 "\"Wine9g\"=\"Value 4\"\n\n");
841 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
842 "\"double\\\"quote\"=\"valid \\\"or\\\" not\"\n"
843 "\"single'quote\"=dword:00000008\n\n");
850 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
851 "\"Wine10a\"=hex(0):56,00,61,00,6c,00,75,00,65,00,00,00\n"
852 "\"Wine10b\"=hex(0):56,00,61,00,6c,00,\\\n"
853 " 75,00,65,00,00,00\n"
854 "\"Wine10c\"=hex(0):56,00,61,00,\\;comment\n"
857 "\"Wine10d\"=hex(0):56,00,61,00,\\;comment\n"
860 "\"Wine10e\"=hex(0):56,00,61,00,\\;comment\n"
861 " 6c,00,75,00,;comment\n"
870 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
871 "\"Wine11a\"=hex(2):25,00,50,00,41,00,54,00,48,00,25,00,00,00\n"
872 "\"Wine11b\"=hex(2):25,00,50,00,41,00,\\\n"
873 " 54,00,48,00,25,00,00,00\n"
874 "\"Wine11c\"=hex(2):25,00,50,00,41,00,\\;comment\n"
877 "\"Wine11d\"=hex(2):25,00,50,00,41,00,\\;comment\n"
880 "\"Wine11e\"=hex(2):25,00,50,00,41,00,\\;comment\n"
881 " 54,00,48,00,;comment\n"
903 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
904 "\"Wine12a\"=hex:11,22,33,44,55,66,77,88\n"
905 "\"Wine12b\"=hex:11,22,33,44,\\\n"
907 "\"Wine12c\"=hex:11,22,33,44,\\;comment\n"
910 "\"Wine12d\"=hex:11,22,33,44,\\;comment\n"
913 "\"Wine12e\"=hex:11,22,33,44,\\;comment\n"
916 hex[0] = 0x11;
hex[1] = 0x22;
hex[2] = 0x33;
hex[3] = 0x44;
917 hex[4] = 0x55;
hex[5] = 0x66;
hex[6] = 0x77;
hex[7] = 0x88;
926 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey\"1]\n"
927 "\"Wine\\\\31\"=\"Test value\"\n\n");
928 open_key(hkey,
"Subkey\"1", 0, &subkey);
934 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey/2]\n"
935 "\"123/\\\"4;'5\"=\"Random value name\"\n\n");
936 open_key(hkey,
"Subkey/2", 0, &subkey);
943 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
944 "\"Wine13a\"=hex(0):56,61,6c,75,65,00\n"
945 "\"Wine13b\"=hex(10):56,61,6c,75,65,00\n"
946 "\"Wine13c\"=hex(100):56,61,6c,75,65,00\n"
947 "\"Wine13d\"=hex(1000):56,61,6c,75,65,00\n"
948 "\"Wine13e\"=hex(7fff):56,61,6c,75,65,00\n"
949 "\"Wine13f\"=hex(ffff):56,61,6c,75,65,00\n"
950 "\"Wine13g\"=hex(7fffffff):56,61,6c,75,65,00\n"
951 "\"Wine13h\"=hex(ffffffff):56,61,6c,75,65,00\n"
952 "\"Wine13i\"=hex(100000000):56,61,6c,75,65,00\n"
953 "\"Wine13j\"=hex(0x2):56,61,6c,75,65,00\n"
954 "\"Wine13k\"=hex(0X2):56,61,6c,75,65,00\n"
955 "\"Wine13l\"=hex(x2):56,61,6c,75,65,00\n\n");
957 verify_reg(hkey,
"Wine13b", 0x10,
"Value", 6, 0);
958 verify_reg(hkey,
"Wine13c", 0x100,
"Value", 6, 0);
959 verify_reg(hkey,
"Wine13d", 0x1000,
"Value", 6, 0);
960 verify_reg(hkey,
"Wine13e", 0x7fff,
"Value", 6, 0);
961 verify_reg(hkey,
"Wine13f", 0xffff,
"Value", 6, 0);
962 verify_reg(hkey,
"Wine13g", 0x7fffffff,
"Value", 6, 0);
963 verify_reg(hkey,
"Wine13h", 0xffffffff,
"Value", 6, 0);
970 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
971 "\"Wine14a\"=hex(7):4c,00,69,00,6e,00,65,00,20,00, \\\n"
972 " 63,00,6f,00,6e,00,63,00,61,00,74,00,\\\n"
973 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n"
974 "\"Wine14b\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\t\\\n"
975 " 63,00,6f,00,6e,00,63,00,61,00,74,00,\\\n"
976 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
981 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
982 "\"Wine15\"=hex(2):25,00,50,00,41,00,54,00,48,00,25,00,00,00,\n\n");
986 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
987 "\"Wine16\"=hex(2):\\\n"
988 " 25,00,48,00,4f,00,4d,00,45,00,25,00,00,00\n\n");
992 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
993 "\"Wine17a\"=hex(0):56,61,6c,75,65,\\");
997 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
998 "\"Wine17b\"=hex(2):25,00,50,00,41,00,54,00,48,00,25,00,\\");
1002 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1003 "\"Wine17c\"=hex:11,22,33,44,55,\\");
1007 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1008 "\"Wine17d\"=hex(7):4c,00,69,00,6e,00,65,00,\\");
1012 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1013 "\"Wine17e\"=hex(100):56,61,6c,75,65,\\");
1014 verify_reg(hkey,
"Wine17e", 0x100,
"Value", 5, 0);
1017 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1018 "\"Wine18a\"=hex(7):4c,00,69,00,6e,00,65,00,00,00,00,00\n"
1019 "\"Wine18b\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n"
1020 " 63,00,6f,00,6e,00,63,00,61,00,74,00,\\\n"
1021 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n"
1022 "\"Wine18c\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\;comment\n"
1023 " 63,00,6f,00,6e,00,63,00,61,00,74,00,\\\n"
1024 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n"
1025 "\"Wine18d\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\;comment\n"
1026 " 63,00,6f,00,6e,00,63,00,61,00,74,00,\n"
1027 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n"
1028 "\"Wine18e\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n"
1029 " 63,00,6f,00,6e,00,63,00,61,00,74,00,;comment\n"
1030 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
1052 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1053 "\"Wine19a\"=hex(100):25,50,41,54,48,25,00\n"
1054 "\"Wine19b\"=hex(100):25,50,41,\\\n"
1056 "\"Wine19c\"=hex(100):25,50,41,\\;comment\n"
1059 "\"Wine19d\"=hex(100):25,50,41,\\;comment\n"
1062 "\"Wine19e\"=hex(100):25,50,41,\\;comment\n"
1065 verify_reg(hkey,
"Wine19a", 0x100,
"%PATH%", 7, 0);
1066 verify_reg(hkey,
"Wine19b", 0x100,
"%PATH%", 7, 0);
1067 verify_reg(hkey,
"Wine19c", 0x100,
"%PATH%", 7, 0);
1068 verify_reg(hkey,
"Wine19d", 0x100,
"%PATH", 5, 0);
1069 verify_reg(hkey,
"Wine19e", 0x100,
"%PATH", 5, 0);
1073 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1074 "\"Wine20a\"=hex(7):4c,00,69,00,6e,00,65,00\n"
1075 "\"Wine20b\"=hex(7):4c,00,69,00,6e,00,65,00,\n"
1076 "\"Wine20c\"=hex(7):4c,00,69,00,6e,00,65,00,00,00\n"
1077 "\"Wine20d\"=hex(7):4c,00,69,00,6e,00,65,00,00,00,\n"
1078 "\"Wine20e\"=hex(7):4c,00,69,00,6e,00,65,00,00,00,00,00\n"
1079 "\"Wine20f\"=hex(7):4c,00,69,00,6e,00,65,00,00,00,00,00,\n\n");
1088 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1089 "\"Wine21a\"=hex(2):25,00,50,00,41,00,54,00,48,00,25,00\n"
1090 "\"Wine21b\"=hex(2):25,00,50,00,41,00,54,00,48,00,25,00,\n"
1091 "\"Wine21c\"=hex(2):25,00,50,00,41,00,54,00,48,00,25,00,00,00\n"
1092 "\"Wine21d\"=hex(2):25,00,50,00,41,00,54,00,48,00,25,00,00,00,\n\n");
1099 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1100 "\"Wine22a\"=hex(1):\n"
1101 "\"Wine22b\"=hex(2):\n"
1102 "\"Wine22c\"=hex(3):\n"
1103 "\"Wine22d\"=hex(4):\n"
1104 "\"Wine22e\"=hex(7):\n"
1105 "\"Wine22f\"=hex(100):\n"
1106 "\"Wine22g\"=hex(abcd):\n"
1107 "\"Wine22h\"=hex:\n"
1108 "\"Wine22i\"=hex(0):\n\n");
1121 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1122 "\"Wine23a\"=\"\\\\0\"\n"
1123 "\"Wine23b\"=\"\\\\0\\\\0\"\n"
1124 "\"Wine23c\"=\"Value1\\\\0\"\n"
1125 "\"Wine23d\"=\"Value2\\\\0\\\\0\\\\0\\\\0\"\n"
1126 "\"Wine23e\"=\"Value3\\\\0Value4\"\n"
1127 "\"Wine23f\"=\"\\\\0Value5\"\n\n");
1137 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1138 "\"count/up\"=\"one/two/three\"\n"
1139 "\"\\\\foo\\\\bar\"=\"\"\n\n"
1140 "[HKEY_CURRENT_USER\\" KEY_BASE "\\https://winehq.org]\n\n");
1163 "HKEY_CLASSES_ROOT\\" KEY_BASE " = Value0\r\n");
1168 "HKEY_CLASSES_ROOT\\" KEY_BASE " =Value1\r\n");
1172 "HKEY_CLASSES_ROOT\\" KEY_BASE " = Value2\r\n");
1176 "HKEY_CLASSES_ROOT\\" KEY_BASE " = Value3 \r\n");
1180 "HKEY_CLASSES_ROOT\\" KEY_BASE " Value4\r\n");
1184 "HKEY_CLASSES_ROOT\\" KEY_BASE " Value5\r\n");
1188 "HKEY_CLASSES_ROOT\\" KEY_BASE "\r\n");
1192 "HKEY_CLASSES_ROOT\\" KEY_BASE " \r\n");
1196 "HKEY_CLASSES_ROOT\\" KEY_BASE " = No newline");
1213 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1214 "\"TestNoEndQuote\"=\"Asdffdsa\n");
1219 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1220 "\"TestNoBeginQuote\"=Asdffdsa\"\n");
1224 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1225 "\"TestNoQuotes\"=Asdffdsa\n");
1229 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1230 "\"NameNoEndQuote=\"Asdffdsa\"\n");
1234 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1235 "NameNoBeginQuote\"=\"Asdffdsa\"\n");
1239 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1240 "NameNoQuotes=\"Asdffdsa\"\n");
1244 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1245 "\"MixedQuotes=Asdffdsa\"\n");
1251 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1252 "\"Test1\"=\"Value\"\n");
1256 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1257 "\"Test2\"=\"Value\"\n");
1261 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1262 "\"Test3\"=\"Value\"\n");
1266 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1267 "\"Test4\"=\"Value\"\n");
1271 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1272 "\"Test5\"=\"Value\"\n");
1276 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1277 "\"Test6\"=\"Value\"\n");
1281 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1282 "\"Test7\"=\"Value\"\n");
1286 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1287 "\"Test8\"=\"Value\"\n");
1291 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1292 "\"Test9\"=\"Value\"\n");
1296 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1297 "\"Test10\"=\"Value\"\n");
1301 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1302 "\"Test11\"=\"Value\"\n");
1307 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1308 "\"Multi-Line1\"=hex(7):4c,69,6e,65,20\\\n"
1309 ",63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n\n");
1313 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1314 "\"Multi-Line2\"=hex(7):4c,69,6e,65,20\\\n"
1315 " ,63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n\n");
1319 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1320 "\"Multi-Line3\"=hex(7):4c,69,6e,65,20\\\n"
1321 ",63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n\n");
1325 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1326 "\"Multi-Line4\"=hex(7):4c,69,6e,65,20\\\n"
1327 " ,63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n\n");
1331 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1332 "\"Test12a\"=dword:\n"
1333 "\"Test12b\"=dword:hello\n"
1334 "\"Test12c\"=dword:123456789\n"
1335 "\"Test12d\"=dword:012345678\n"
1336 "\"Test12e\"=dword:000000001\n\n");
1344 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1345 "\"Test13a\"=dword:12345678abc\n"
1346 "\"Test13b\"=dword:12345678 abc\n\n");
1351 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1352 "\"Test14a\"=dword:0x123\n"
1353 "\"Test14b\"=dword:123 456\n"
1354 "\"Test14c\"=dword:1234 5678\n\n");
1360 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1361 "\"Test15a\"=\"foo\"bar\"\n"
1362 "\"Test15b\"=\"foo\"\"bar\"\n\n");
1367 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1369 "\"Test16b\"=\\\"\n"
1370 "\"Test16c\"=\\\"Value\\\"\n"
1371 "\"Test16d\"=\\\"Value\"\n\n");
1379 "[HKEY_CURRENT_USER\\" KEY_BASE "\\\n"
1384 "[HKEY_CURRENT_USER\\" KEY_BASE "\n"
1389 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1391 "17a\"=\"Value 1\"\n"
1392 "\"Test17b\"=\"Value 2\"\n"
1394 "\\17c\"=\"Value 3\"\n\n");
1400 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1401 "\"Test18a\"=dword:1234\\\n"
1403 "\"Test18b\"=\"Test \\\n"
1410 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1411 "\"Test19a\"=hex(0):56,00,61,00,6c,00\\\n"
1412 ",75,00,65,00,00,00\n"
1413 "\"Test19b\"=hex(0):56,00,61,00,6c,00\\\n"
1414 " ,75,00,65,00,00,00\n"
1415 "\"Test19c\"=hex(0):56,00,61,00,6c,00\\\n"
1416 " 75,00,65,00,00,00\n"
1417 "\"Test19d\"=hex(0):56,00,61,00,6c,00,7\\\n"
1418 "5,00,65,00,00,00\n"
1419 "\"Test19e\"=hex(0):56,00,61,00,6c,00,7\\\n"
1420 " 5,00,65,00,00,00\n"
1421 "\"Test19f\"=hex(0):56,00,61,00,\\;comment\n"
1422 " 6c,00,75,00,\\#comment\n"
1423 " 65,00,00,00\n\n");
1432 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1433 "\"Test20a\"=hex(2):25,50,41\\\n"
1435 "\"Test20b\"=hex(2):25,50,41\\\n"
1437 "\"Test20c\"=hex(2):25,50,41\\\n"
1439 "\"Test20d\"=hex(2):25,50,4\\\n"
1441 "\"Test20e\"=hex(2):25,50,4\\\n"
1443 "\"Test20f\"=hex(2):25,50,41,\\;comment\n"
1444 " 54,48,\\#comment\n"
1454 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1455 "\"Test21a\"=hex:11,22,33,44\\\n"
1457 "\"Test21b\"=hex:11,22,33,44\\\n"
1459 "\"Test21c\"=hex:11,22,33,44\\\n"
1461 "\"Test21d\"=hex:11,22,33,4\\\n"
1463 "\"Test21e\"=hex:11,22,33,4\\\n"
1465 "\"Test21f\"=hex:11,22,33,\\;comment\n"
1466 " 44,55,66,\\#comment\n"
1477 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1478 "\"Wine22a\"=hex(0):25,50,100,54,48,25,00\n"
1479 "\"Wine22b\"=hex(0):25,1a4,100,164,124,25,00\n\n");
1485 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1486 "\"Wine23a\"=hex(2):25,48\\,4f,4d,45,25,00\n"
1487 "\"Wine23b\"=hex(2):25,48,\\4f,4d,45,25,00\n"
1488 "\"Wine23c\"=hex(2):25,48\\ ,4f,4d,45,25,00\n"
1489 "\"Wine23d\"=hex(2):25,48,\\ 4f,4d,45,25,00\n"
1490 "\"Wine23e\"=hex(2):\\25,48,4f,4d,45,25,00\n"
1491 "\"Wine23f\"=hex(2):\\ 25,48,4f,4d,45,25,00\n"
1492 "\"Wine23g\"=hex(2):25,48,4\\f,4d,45,25,00\n"
1493 "\"Wine23h\"=hex(2):25,48,4\\\n"
1495 "\"Wine23i\"=hex(2):25,50,\\,41,54,48,25,00\n"
1496 "\"Wine23j\"=hex(2):25,48,4f,4d,45,25,5c,\\\\\n"
1497 " 25,50,41,54,48,25,00\n"
1498 "\"Wine23k\"=hex(2):,\\\n"
1499 " 25,48,4f,4d,45,25,00\n\n");
1513 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1514 "\"Wine24a\"=hex(2):4c,69,6e,65,20,\\\n"
1515 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1]\n");
1520 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1521 "\"Wine24b\"=hex(2):4c,69,6e,65,20\\\n"
1522 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2]\n");
1529 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1530 "\"Wine25a\"=hex(2):4c,69,6e,65,20,\\\n"
1531 "\"Wine25b\"=\"Test value\"\n"
1533 "\"Wine25c\"=hex(2):4c,69,6e,65,20,\\\n"
1535 "\"Wine25d\"=\"Test value\"\n"
1537 "\"Wine25e\"=hex(2):4c,69,6e,65,20,\\\n"
1539 "\"Wine25f\"=\"Test value\"\n"
1541 "\"Wine25g\"=hex(2):4c,69,6e,65,20,\\\n\n"
1542 "\"Wine25h\"=\"Test value\"\n"
1544 "\"Wine25i\"=hex(2):4c,69,6e,65,20\\\n"
1545 "\"Wine25j\"=\"Test value\"\n\n");
1558 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1559 "\"Wine26a\"=hex(2):4c,69,6e,65,20,\\\n"
1560 "\"Wine26b\"=dword:00000008\n"
1562 "\"Wine26c\"=hex(2):4c,69,6e,65,20,\\\n"
1564 "\"Wine26d\"=dword:00000008\n"
1566 "\"Wine26e\"=hex(2):4c,69,6e,65,20,\\\n"
1568 "\"Wine26f\"=dword:00000008\n"
1570 "\"Wine26g\"=hex(2):4c,69,6e,65,20,\\\n\n"
1571 "\"Wine26h\"=dword:00000008\n"
1573 "\"Wine26i\"=hex(2):4c,69,6e,65,20\\\n"
1574 "\"Wine26j\"=dword:00000008\n\n");
1587 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1588 "\"Wine27a\"=hex(2):25,48,4f,4d,45,25,5c,\\\n"
1589 "\"Wine27b\"=hex(2):25,50,41,54,48,25,00\n"
1591 "\"Wine27c\"=hex(2):25,48,4f,4d,45,25,5c,\\\n"
1593 "\"Wine27d\"=hex(2):25,50,41,54,48,25,00\n"
1595 "\"Wine27e\"=hex(2):25,48,4f,4d,45,25,5c,\\\n"
1597 "\"Wine27f\"=hex(2):25,50,41,54,48,25,00\n"
1599 "\"Wine27g\"=hex(2):25,48,4f,4d,45,25,5c,\\\n\n"
1600 "\"Wine27h\"=hex(2):25,50,41,54,48,25,00\n"
1602 "\"Wine27i\"=hex(2):25,48,4f,4d,45,25,5c\\\n"
1603 "\"Wine27j\"=hex(2):25,50,41,54,48,25,00\n\n");
1616 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1617 "\"Wine28a\"=hex(2):4c,69,6e,65,20,\\\n"
1618 "@=\"Default value 1\"\n\n");
1623 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1624 "\"Wine28b\"=hex(2):4c,69,6e,65,20,\\\n"
1626 "@=\"Default value 2\"\n\n");
1631 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1632 "\"Wine28c\"=hex(2):4c,69,6e,65,20,\\\n"
1634 "@=\"Default value 3\"\n\n");
1641 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1642 "\"Wine28d\"=hex(2):4c,69,6e,65,20,\\\n\n"
1643 "@=\"Default value 4\"\n\n");
1648 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1649 "\"Wine28e\"=hex(2):4c,69,6e,65,20\\\n"
1650 "@=\"Default value 5\"\n\n");
1655 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1656 "\"Wine29a\"=hex:11,22,33,\\\n"
1659 "\"Wine29b\"=hex:11,22,33,\\\n"
1666 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1667 "\"Wine30a\"=hex(0):25,48,4f,4d,45,25,5c,/\n"
1668 " 25,50,41,54,48,25,00\n"
1669 "\"Wine30b\"=hex(0):25,48,4f,4d,45,25,5c/\n"
1670 " 25,50,41,54,48,25,00\n\n");
1675 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1676 "\"Wine31\"=hex(7):4c,69,6e,65,20\\");
1680 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1681 "\"Wine32a\"=hex(7):4c,69,6e,65,20,\\\n"
1682 " ,63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n"
1683 "\"Wine32b\"=hex(7):4c,69,6e,65,20,\\\n"
1684 " 63,,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n\n");
1690 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1691 "\"Wine33a\"=\"\\0\"\n"
1692 "\"Wine33b\"=\"\\0\\0\"\n"
1693 "\"Wine33c\"=\"Value1\\0\"\n"
1694 "\"Wine33d\"=\"Value2\\0\\0\\0\\0\"\n"
1695 "\"Wine33e\"=\"Value3\\0Value4\"\n"
1696 "\"Wine33f\"=\"\\0Value5\"\n\n");
1718 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1719 "\"TestNoEndQuote\"=\"Asdffdsa\n");
1724 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1725 "\"TestNoBeginQuote\"=Asdffdsa\"\n");
1729 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1730 "\"TestNoQuotes\"=Asdffdsa\n");
1734 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1735 "\"NameNoEndQuote=\"Asdffdsa\"\n");
1739 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1740 "NameNoBeginQuote\"=\"Asdffdsa\"\n");
1744 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1745 "NameNoQuotes=\"Asdffdsa\"\n");
1749 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1750 "\"MixedQuotes=Asdffdsa\"\n");
1756 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1757 "\"Test1\"=\"Value\"\n");
1761 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1762 "\"Test2\"=\"Value\"\n");
1766 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1767 "\"Test3\"=\"Value\"\n");
1771 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1772 "\"Test4\"=\"Value\"\n");
1776 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1777 "\"Test5\"=\"Value\"\n");
1781 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1782 "\"Test6\"=\"Value\"\n");
1786 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1787 "\"Test7\"=\"Value\"\n");
1791 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1792 "\"Test8\"=\"Value\"\n");
1796 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1797 "\"Test9\"=\"Value\"\n");
1801 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1802 "\"Test10\"=\"Value\"\n");
1806 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1807 "\"Test11\"=\"Value\"\n");
1812 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1813 "\"Multi-Line1\"=hex(7):4c,00,69,00,6e,00,65,00,20,00\\\n"
1814 ",63,00,6f,00,6e,00,63,00,61,00,74,00,\\\n"
1815 "65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
1819 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1820 "\"Multi-Line2\"=hex(7):4c,00,69,00,6e,00,65,00,20,00\\\n"
1821 " ,63,00,6f,00,6e,00,63,00,61,00,74,00,\\\n"
1822 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
1826 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1827 "\"Multi-Line3\"=hex(7):4c,00,69,00,6e,00,65,00,20,00\\\n"
1828 ",63,00,6f,00,6e,00,63,00,61,00,74,00,\\\n"
1829 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
1833 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1834 "\"Multi-Line4\"=hex(7):4c,00,69,00,6e,00,65,00,20,00\\\n"
1835 ", 63,00,6f,00,6e,00,63,00,61,00,74,00,\\\n"
1836 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
1840 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1841 "\"Test12a\"=dword:\n"
1842 "\"Test12b\"=dword:hello\n"
1843 "\"Test12c\"=dword:123456789\n"
1844 "\"Test12d\"=dword:012345678\n"
1845 "\"Test12e\"=dword:000000001\n\n");
1853 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1854 "\"Test13a\"=dword:12345678abc\n"
1855 "\"Test13b\"=dword:12345678 abc\n\n");
1860 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1861 "\"Test14a\"=dword:0x123\n"
1862 "\"Test14b\"=dword:123 456\n"
1863 "\"Test14c\"=dword:1234 5678\n\n");
1869 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1870 "\"Test15a\"=\"foo\"bar\"\n"
1871 "\"Test15b\"=\"foo\"\"bar\"\n\n");
1876 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1878 "\"Test16b\"=\\\"\n"
1879 "\"Test16c\"=\\\"Value\\\"\n"
1880 "\"Test16d\"=\\\"Value\"\n\n");
1888 "[HKEY_CURRENT_USER\\" KEY_BASE "\\\n"
1893 "[HKEY_CURRENT_USER\\" KEY_BASE "\n"
1898 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1900 "17a\"=\"Value 1\"\n"
1901 "\"Test17b\"=\"Value 2\"\n"
1903 "\\17c\"=\"Value 3\"\n\n");
1909 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1910 "\"Test18a\"=dword:1234\\\n"
1912 "\"Test18b\"=\"Test \\\n"
1919 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1920 "\"Test19a\"=hex(0):56,00,61,00,6c,00\\\n"
1921 ",75,00,65,00,00,00\n"
1922 "\"Test19b\"=hex(0):56,00,61,00,6c,00\\\n"
1923 " ,75,00,65,00,00,00\n"
1924 "\"Test19c\"=hex(0):56,00,61,00,6c,00\\\n"
1925 " 75,00,65,00,00,00\n"
1926 "\"Test19d\"=hex(0):56,00,61,00,6c,00,7\\\n"
1927 "5,00,65,00,00,00\n"
1928 "\"Test19e\"=hex(0):56,00,61,00,6c,00,7\\\n"
1929 " 5,00,65,00,00,00\n"
1930 "\"Test19f\"=hex(0):56,00,61,00,\\;comment\n"
1931 " 6c,00,75,00,\\#comment\n"
1932 " 65,00,00,00\n\n");
1941 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1942 "\"Test20a\"=hex(2):25,00,50,00,41,00\\\n"
1943 ",54,00,48,00,25,00,00,00\n"
1944 "\"Test20b\"=hex(2):25,00,50,00,41,00\\\n"
1945 " ,54,00,48,00,25,00,00,00\n"
1946 "\"Test20c\"=hex(2):25,00,50,00,41,00\\\n"
1947 " 54,00,48,00,25,00,00,00\n"
1948 "\"Test20d\"=hex(2):25,00,50,00,4\\\n"
1949 "1,00,54,00,48,00,25,00,00,00\n"
1950 "\"Test20e\"=hex(2):25,00,50,00,4\\\n"
1951 " 1,00,54,00,48,00,25,00,00\n"
1952 "\"Test20f\"=hex(2):25,00,50,00,41,00,\\;comment\n"
1953 " 54,00,48,00,\\#comment\n"
1954 " 25,00,00,00\n\n");
1963 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1964 "\"Test21a\"=hex:11,22,33,44\\\n"
1966 "\"Test21b\"=hex:11,22,33,44\\\n"
1968 "\"Test21c\"=hex:11,22,33,44\\\n"
1970 "\"Test21d\"=hex:11,22,33,4\\\n"
1972 "\"Test21e\"=hex:11,22,33,4\\\n"
1974 "\"Test21f\"=hex:11,22,33,\\;comment\n"
1975 " 44,55,66,\\#comment\n"
1986 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1987 "\"Wine22a\"=hex(0):25,50,100,54,48,25,00\n"
1988 "\"Wine22b\"=hex(0):25,1a4,100,164,124,25,00\n\n");
1994 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
1995 "\"Wine23a\"=hex(2):25,00,48\\,00,4f,00,4d,00,45,00,25,00,00,00\n"
1996 "\"Wine23b\"=hex(2):25,00,48,00,\\4f,00,4d,00,45,00,25,00,00,00\n"
1997 "\"Wine23c\"=hex(2):25,00,48\\ ,00,4f,00,4d,00,45,00,25,00,00,00\n"
1998 "\"Wine23d\"=hex(2):25,00,48,00,\\ 4f,00,4d,00,45,00,25,00,00,00\n"
1999 "\"Wine23e\"=hex(2):\\25,00,48,00,4f,00,4d,00,45,00,25,00,00,00\n"
2000 "\"Wine23f\"=hex(2):\\ 25,00,48,00,4f,00,4d,00,45,00,25,00,00,00\n"
2001 "\"Wine23g\"=hex(2):25,00,48,00,4\\f,00,4d,00,45,00,25,00,00,00\n"
2002 "\"Wine23h\"=hex(2):25,00,48,00,4\\\n"
2003 " f,00,4d,00,45,00,25,00,00,00\n"
2004 "\"Wine23i\"=hex(2):25,00,50,00,\\,41,00,54,00,48,00,25,00,00,00\n"
2005 "\"Wine23j\"=hex(2):25,00,48,00,4f,00,4d,00,45,00,25,00,5c,00,\\\\\n"
2006 " 25,00,50,00,41,00,54,00,48,00,25,00,00,00\n"
2007 "\"Wine23k\"=hex(2):,\\\n"
2008 " 25,00,48,00,4f,00,4d,00,45,00,25,00,00,00\n\n");
2022 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2023 "\"Wine24a\"=hex(2):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2024 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1]\n");
2029 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2030 "\"Wine24b\"=hex(2):4c,00,69,00,6e,00,65,00,20,00\\\n"
2031 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2]\n");
2038 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2039 "\"Wine25a\"=hex(2):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2040 "\"Wine25b\"=\"Test value\"\n"
2042 "\"Wine25c\"=hex(2):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2044 "\"Wine25d\"=\"Test value\"\n"
2046 "\"Wine25e\"=hex(2):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2048 "\"Wine25f\"=\"Test value\"\n"
2050 "\"Wine25g\"=hex(2):4c,00,69,00,6e,00,65,00,20,00,\\\n\n"
2051 "\"Wine25h\"=\"Test value\"\n"
2053 "\"Wine25i\"=hex(2):4c,00,69,00,6e,00,65,00,20,00\\\n"
2054 "\"Wine25j\"=\"Test value\"\n\n");
2067 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2068 "\"Wine26a\"=hex(2):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2069 "\"Wine26b\"=dword:00000008\n"
2071 "\"Wine26c\"=hex(2):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2073 "\"Wine26d\"=dword:00000008\n"
2075 "\"Wine26e\"=hex(2):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2077 "\"Wine26f\"=dword:00000008\n"
2079 "\"Wine26g\"=hex(2):4c,00,69,00,6e,00,65,00,20,00,\\\n\n"
2080 "\"Wine26h\"=dword:00000008\n"
2082 "\"Wine26i\"=hex(2):4c,00,69,00,6e,00,65,00,20,00\\\n"
2083 "\"Wine26j\"=dword:00000008\n\n");
2096 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2097 "\"Wine27a\"=hex(2):25,00,48,00,4f,00,4d,00,45,00,25,00,5c,00,\\\n"
2098 "\"Wine27b\"=hex(2):25,00,50,00,41,00,54,00,48,00,25,00,00,00\n"
2100 "\"Wine27c\"=hex(2):25,00,48,00,4f,00,4d,00,45,00,25,00,5c,00,\\\n"
2102 "\"Wine27d\"=hex(2):25,00,50,00,41,00,54,00,48,00,25,00,00,00\n"
2104 "\"Wine27e\"=hex(2):25,00,48,00,4f,00,4d,00,45,00,25,00,5c,00,\\\n"
2106 "\"Wine27f\"=hex(2):25,00,50,00,41,00,54,00,48,00,25,00,00,00\n"
2108 "\"Wine27g\"=hex(2):25,00,48,00,4f,00,4d,00,45,00,25,00,5c,00,\\\n\n"
2109 "\"Wine27h\"=hex(2):25,00,50,00,41,00,54,00,48,00,25,00,00,00\n"
2111 "\"Wine27i\"=hex(2):25,00,48,00,4f,00,4d,00,45,00,25,00,5c,00\\\n"
2112 "\"Wine27j\"=hex(2):25,00,50,00,41,00,54,00,48,00,25,00,00,00\n\n");
2125 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2126 "\"Wine28a\"=hex(2):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2127 "@=\"Default value 1\"\n\n");
2132 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2133 "\"Wine28b\"=hex(2):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2135 "@=\"Default value 2\"\n\n");
2140 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2141 "\"Wine28c\"=hex(2):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2143 "@=\"Default value 3\"\n\n");
2150 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2151 "\"Wine28d\"=hex(2):4c,00,69,00,6e,00,65,00,20,00,\\\n\n"
2152 "@=\"Default value 4\"\n\n");
2157 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2158 "\"Wine28e\"=hex(2):4c,00,69,00,6e,00,65,00,20,00\\\n"
2159 "@=\"Default value 5\"\n\n");
2164 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2165 "\"Wine29a\"=hex:11,22,33,\\\n"
2168 "\"Wine29b\"=hex:11,22,33,\\\n"
2175 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2176 "\"Wine30a\"=hex(0):25,48,4f,4d,45,25,5c,/\n"
2177 " 25,50,41,54,48,25,00\n"
2178 "\"Wine30b\"=hex(0):25,48,4f,4d,45,25,5c/\n"
2179 " 25,50,41,54,48,25,00\n\n");
2184 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2185 "\"Wine31\"=hex(7):4c,00,69,00,6e,00,65,00,20,00\\");
2189 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2190 "\"Wine32a\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2191 " ,63,00,6f,00,6e,00,63,00,61,00,74,00,\\\n"
2192 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n"
2193 "\"Wine32b\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2194 " 63,00,,6f,00,6e,00,63,00,61,00,74,00,\\\n"
2195 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
2201 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2202 "\"Wine33a\"=\"\\0\"\n"
2203 "\"Wine33b\"=\"\\0\\0\"\n"
2204 "\"Wine33c\"=\"Value1\\0\"\n"
2205 "\"Wine33d\"=\"Value2\\0\\0\\0\\0\"\n"
2206 "\"Wine33e\"=\"Value3\\0Value4\"\n"
2207 "\"Wine33f\"=\"\\0Value5\"\n\n");
2233 " HKEY_CLASSES_ROOT\\" KEY_BASE " = Value1a\r\n");
2237 " HKEY_CLASSES_ROOT\\" KEY_BASE " = Value1b\r\n");
2241 "\tHKEY_CLASSES_ROOT\\" KEY_BASE " = Value1c\r\n");
2245 ";HKEY_CLASSES_ROOT\\" KEY_BASE " = Value2a\r\n");
2249 "#HKEY_CLASSES_ROOT\\" KEY_BASE " = Value2b\r\n");
2254 "hkey_classes_root\\" KEY_BASE " = Value3a\r\n");
2258 "hKEY_CLASSES_ROOT\\" KEY_BASE " = Value3b\r\n");
2262 "Hkey_Classes_Root\\" KEY_BASE " = Value3c\r\n");
2279 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2281 "\"Wine1\"=\"Line 1\"\n"
2283 "\"Wine2\"=\"Line 2\"\n\n");
2289 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2290 "\"Wine3\"=\"Value 1\"#comment\n"
2291 "\"Wine4\"=\"Value 2\";comment\n"
2292 "\"Wine5\"=dword:01020304 #comment\n"
2293 "\"Wine6\"=dword:02040608 ;comment\n\n");
2301 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2302 "\"Wine7\"=hex(7):4c,69,6e,65,20,\\\n"
2304 " 63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n"
2305 "\"Wine8\"=\"A valid line\"\n"
2306 "\"Wine9\"=hex(7):4c,69,6e,65,20,\\\n"
2308 " 63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n"
2309 "\"Wine10\"=\"Another valid line\"\n\n");
2316 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2317 "#\"Comment1\"=\"Value 1\"\n"
2318 ";\"Comment2\"=\"Value 2\"\n"
2319 " #\"Comment3\"=\"Value 3\"\n"
2320 " ;\"Comment4\"=\"Value 4\"\n"
2321 "\"Wine11\"=\"Value 6\"#\"Comment5\"=\"Value 5\"\n"
2322 "\"Wine12\"=\"Value 7\";\"Comment6\"=\"Value 6\"\n\n");
2333 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2334 "\"Wine13\"=#\"Value 8\"\n"
2335 "\"Wine14\"=;\"Value 9\"\n"
2336 "\"Wine15\"=\"#comment1\"\n"
2337 "\"Wine16\"=\";comment2\"\n"
2338 "\"Wine17\"=\"Value#comment3\"\n"
2339 "\"Wine18\"=\"Value;comment4\"\n"
2340 "\"Wine19\"=\"Value #comment5\"\n"
2341 "\"Wine20\"=\"Value ;comment6\"\n"
2342 "\"Wine21\"=#dword:00000001\n"
2343 "\"Wine22\"=;dword:00000002\n"
2344 "\"Wine23\"=dword:00000003#comment\n"
2345 "\"Wine24\"=dword:00000004;comment\n\n");
2361 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2362 "\"Wine25a\"=dword:1234;5678\n"
2363 "\"Wine25b\"=dword:1234 ;5678\n"
2364 "\"Wine25c\"=dword:1234#5678\n"
2365 "\"Wine25d\"=dword:1234 #5678\n\n");
2373 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2374 "\"Wine26a\"=\"Value1\" ;comment\n"
2375 "\"Wine26b\"=\"Value2\"\t\t;comment\n"
2376 "\"Wine26c\"=\"Value3\" #comment\n"
2377 "\"Wine26d\"=\"Value4\"\t\t#comment\n\n");
2384 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2385 "\"Multi-Line1\"=hex(7):4c,69,6e,65,20,\\\n"
2386 " 63,6f,6e,\\;comment\n"
2387 " 63,61,74,\\;comment\n"
2388 " 65,6e,61,74,69,6f,6e,00,00\n\n");
2392 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2393 "\"Multi-Line2\"=hex(7):4c,69,6e,65,20,\\\n"
2394 " 63,6f,6e,\\;comment\n"
2395 " 63,61,74,;comment\n"
2396 " 65,6e,61,74,69,6f,6e,00,00\n\n");
2400 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2401 "\"Multi-Line3\"=hex(7):4c,69,6e,\\;comment\n"
2402 " 65,20,\\;comment\n"
2403 " 63,6f,6e,\\;comment\n"
2404 " 63,61,74,\\;comment\n"
2405 " 65,6e,61,74,69,6f,6e,00,00\n\n");
2409 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2410 "\"Multi-Line4\"=hex(7):4c,69,6e,\\;#comment\n"
2411 " 65,20,\\;#comment\n"
2412 " 63,6f,6e,\\;#comment\n"
2413 " 63,61,74,\\;#comment\n"
2414 " 65,6e,61,74,69,6f,6e,00,00\n\n");
2418 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2419 "\"Multi-Line5\"=hex(7):4c,69,6e,\\;comment\n"
2420 " 65,20,\\;comment\n"
2421 " 63,6f,6e,\\;comment\n"
2422 " 63,61,74,\\#comment\n"
2423 " 65,6e,61,74,69,6f,6e,00,00\n\n");
2427 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2428 "\"Multi-Line6\"=hex(7):4c,69,6e,65,20,\\\n"
2429 " 63,6f,6e,\\;comment\n"
2431 " 65,6e,\\;comment\n\n"
2432 " 61,74,69,6f,6e,00,00\n\n");
2436 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2437 "\"Wine27a\"=hex(2):25,50,41,54,48,25,00 ;comment\n"
2438 "\"Wine27b\"=hex(2):25,50,41,54,48,25,00\t;comment\n"
2439 "\"Wine27c\"=hex(2):25,50,41,54,48,25,00 #comment\n"
2440 "\"Wine27d\"=hex(2):25,50,41,54,48,25,00\t#comment\n\n");
2447 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2448 "\"Wine28a\"=hex(2):25,48,4f,4d,45,25,5c,\\\n"
2449 " 25,50,41,54,48,25,00\n"
2450 "\"Wine28b\"=hex(2):25,48,4f,4d,45,25,5c\\\n"
2451 " 25,50,41,54,48,25,00\n"
2452 "\"Wine28c\"=hex(2):25,48,4f,4d,45,25,5c, \\ ;comment\n"
2453 " 25,50,41,54,48,25,00\n"
2454 "\"Wine28d\"=hex(2):25,48,4f,4d,45,25,5c \\ ;comment\n"
2455 " 25,50,41,54,48,25,00\n"
2456 "\"Wine28e\"=hex(2):25,48,4f,4d,45,25,5c,\\\t ;comment\n"
2457 " 25,50,41,54,48,25,00\n"
2458 "\"Wine28f\"=hex(2):25,48,4f,4d,45,25,5c\\\t ;comment\n"
2459 " 25,50,41,54,48,25,00\n\n");
2468 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2469 "\"Wine29a\"=hex(7):4c,69,6e,65,20,\\\n"
2470 " 63,6f,6e,63,61,74,\\\n"
2472 " 65,6e,\\;comment\n"
2473 " 61,74,69,6f,6e,00,00\n\n");
2477 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2478 "\"Wine29b\"=hex(7):4c,69,6e,65,20,\\\n"
2479 " 63,6f,6e,63,61,74,\\\n"
2481 " 65,6e,\\;comment\n"
2482 " 61,74,69,6f,6e,00,00\n\n");
2486 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2487 "\"Wine29c\"=hex(7):4c,69,6e,65,20,\\\n"
2488 " 63,6f,6e,63,61,74,\\\n"
2490 " 65,6e,\\;comment\n"
2491 " 61,74,69,6f,6e,00,00\n\n");
2495 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2496 "\"Wine29d\"=hex(7):4c,69,6e,65,20,\\\n"
2497 " 63,6f,6e,63,61,74,\\\n"
2499 " 65,6e,\\;comment\n"
2500 " 61,74,69,6f,6e,00,00\n\n");
2517 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2519 "\"Wine1\"=\"Line 1\"\n"
2521 "\"Wine2\"=\"Line 2\"\n\n");
2527 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2528 "\"Wine3\"=\"Value 1\"#comment\n"
2529 "\"Wine4\"=\"Value 2\";comment\n"
2530 "\"Wine5\"=dword:01020304 #comment\n"
2531 "\"Wine6\"=dword:02040608 ;comment\n\n");
2539 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2540 "\"Wine7\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2542 " 63,00,6f,00,6e,00,63,00,61,00,74,00,\\\n"
2543 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n"
2544 "\"Wine8\"=\"A valid line\"\n"
2545 "\"Wine9\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2547 " 63,00,6f,00,6e,00,63,00,61,00,74,00,\\\n"
2548 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n"
2549 "\"Wine10\"=\"Another valid line\"\n\n");
2556 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2557 "#\"Comment1\"=\"Value 1\"\n"
2558 ";\"Comment2\"=\"Value 2\"\n"
2559 " #\"Comment3\"=\"Value 3\"\n"
2560 " ;\"Comment4\"=\"Value 4\"\n"
2561 "\"Wine11\"=\"Value 6\"#\"Comment5\"=\"Value 5\"\n"
2562 "\"Wine12\"=\"Value 7\";\"Comment6\"=\"Value 6\"\n\n");
2573 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2574 "\"Wine13\"=#\"Value 8\"\n"
2575 "\"Wine14\"=;\"Value 9\"\n"
2576 "\"Wine15\"=\"#comment1\"\n"
2577 "\"Wine16\"=\";comment2\"\n"
2578 "\"Wine17\"=\"Value#comment3\"\n"
2579 "\"Wine18\"=\"Value;comment4\"\n"
2580 "\"Wine19\"=\"Value #comment5\"\n"
2581 "\"Wine20\"=\"Value ;comment6\"\n"
2582 "\"Wine21\"=#dword:00000001\n"
2583 "\"Wine22\"=;dword:00000002\n"
2584 "\"Wine23\"=dword:00000003#comment\n"
2585 "\"Wine24\"=dword:00000004;comment\n\n");
2601 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2602 "\"Wine25a\"=dword:1234;5678\n"
2603 "\"Wine25b\"=dword:1234 ;5678\n"
2604 "\"Wine25c\"=dword:1234#5678\n"
2605 "\"Wine25d\"=dword:1234 #5678\n\n");
2613 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2614 "\"Wine26a\"=\"Value1\" ;comment\n"
2615 "\"Wine26b\"=\"Value2\"\t\t;comment\n"
2616 "\"Wine26c\"=\"Value3\" #comment\n"
2617 "\"Wine26d\"=\"Value4\"\t\t#comment\n\n");
2624 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2625 "\"Multi-Line1\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2626 " 63,00,6f,00,6e,00,\\;comment\n"
2627 " 63,00,61,00,74,00,\\;comment\n"
2628 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
2632 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2633 "\"Multi-Line2\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2634 " 63,00,6f,00,6e,00,\\;comment\n"
2635 " 63,00,61,00,74,00,;comment\n"
2636 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
2640 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2641 "\"Multi-Line3\"=hex(7):4c,00,69,00,6e,00,\\;comment\n"
2642 " 65,00,20,00,\\;comment\n"
2643 " 63,00,6f,00,6e,00,\\;comment\n"
2644 " 63,00,61,00,74,00,\\;comment\n"
2645 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
2649 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2650 "\"Multi-Line4\"=hex(7):4c,00,69,00,6e,00,\\;#comment\n"
2651 " 65,00,20,00,\\;#comment\n"
2652 " 63,00,6f,00,6e,00,\\;#comment\n"
2653 " 63,00,61,00,74,00,\\;#comment\n"
2654 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
2658 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2659 "\"Multi-Line5\"=hex(7):4c,00,69,00,6e,00,\\;comment\n"
2660 " 65,00,20,00,\\;comment\n"
2661 " 63,00,6f,00,6e,00,\\;comment\n"
2662 " 63,00,61,00,74,00,\\#comment\n"
2663 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
2667 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2668 "\"Multi-Line6\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2669 " 63,00,6f,00,6e,00,\\;comment\n"
2670 " 63,00,61,00,74,00,\\\n\n"
2671 " 65,00,6e,00,\\;comment\n\n"
2672 " 61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
2676 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2677 "\"Wine27a\"=hex(2):25,00,50,00,41,00,54,00,48,00,25,00,00,00 ;comment\n"
2678 "\"Wine27b\"=hex(2):25,00,50,00,41,00,54,00,48,00,25,00,00,00\t;comment\n"
2679 "\"Wine27c\"=hex(2):25,00,50,00,41,00,54,00,48,00,25,00,00,00 #comment\n"
2680 "\"Wine27d\"=hex(2):25,00,50,00,41,00,54,00,48,00,25,00,00,00\t#comment\n\n");
2687 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2688 "\"Wine28a\"=hex(2):25,00,48,00,4f,00,4d,00,45,00,25,00,5c,00,\\\n"
2689 " 25,00,50,00,41,00,54,00,48,00,25,00,00,00\n"
2690 "\"Wine28b\"=hex(2):25,00,48,00,4f,00,4d,00,45,00,25,00,5c,00\\\n"
2691 " 25,00,50,00,41,00,54,00,48,00,25,00,00,00\n"
2692 "\"Wine28c\"=hex(2):25,00,48,00,4f,00,4d,00,45,00,25,00,5c,00, \\ ;comment\n"
2693 " 25,00,50,00,41,00,54,00,48,00,25,00,00,00\n"
2694 "\"Wine28d\"=hex(2):25,00,48,00,4f,00,4d,00,45,00,25,00,5c,00 \\ ;comment\n"
2695 " 25,00,50,00,41,00,54,00,48,00,25,00,00,00\n"
2696 "\"Wine28e\"=hex(2):25,00,48,00,4f,00,4d,00,45,00,25,00,5c,00,\\\t ;comment\n"
2697 " 25,00,50,00,41,00,54,00,48,00,25,00,00,00\n"
2698 "\"Wine28f\"=hex(2):25,00,48,00,4f,00,4d,00,45,00,25,00,5c,00\\\t ;comment\n"
2699 " 25,00,50,00,41,00,54,00,48,00,25,00,00,00\n\n");
2708 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2709 "\"Wine29a\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2710 " 63,00,6f,00,6e,00,63,00,61,00,74,00,\\\n"
2712 " 65,00,6e,00,\\;comment\n"
2713 " 61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
2717 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2718 "\"Wine29b\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2719 " 63,00,6f,00,6e,00,63,00,61,00,74,00,\\\n"
2721 " 65,00,6e,00,\\;comment\n"
2722 " 61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
2726 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2727 "\"Wine29c\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2728 " 63,00,6f,00,6e,00,63,00,61,00,74,00,\\\n"
2730 " 65,00,6e,00,\\;comment\n"
2731 " 61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
2735 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2736 "\"Wine29d\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2737 " 63,00,6f,00,6e,00,63,00,61,00,74,00,\\\n"
2739 " 65,00,6e,00,\\;comment\n"
2740 " 61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
2757 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n\n");
2762 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2763 "\"Wine1a\"=\"Value\"\n\n");
2767 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2768 "\"Wine1b\"=\"Value\"\n\n");
2772 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2773 "\"Wine1c\"=\"Value\"\n\n");
2777 " [HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2778 "\"Wine2a\"=\"Value\"\n\n");
2782 "\t[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2783 "\"Wine2b\"=\"Value\"\n\n");
2787 " \t [HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2788 "\"Wine2c\"=\"Value\"\n\n");
2792 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2793 " \"Wine3a\"=\"Two leading spaces\"\n\n");
2797 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2798 "\t\"Wine3b\"=\"One leading tab\"\n\n");
2802 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2803 " \t \"Wine3c\"=\"Space, tab, space\"\n\n");
2807 "\t\t\t[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2808 "\t \"Wine4a\"=\"Tab and four spaces\"\n"
2809 " \"Wine4b\"=dword:00112233\n"
2810 "\t \t \t \t \t \t \"Wine4c\"=hex(7):4c,69,6e,65,20,\\\n"
2811 " 63,6f,6e,\\;comment\n"
2812 "\t\t\t\t63,61,74,\\;comment\n"
2813 " \t65,6e,61,74,69,6f,6e,00,00\n\n");
2820 "\t[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2821 " \"Wine5a\"=\"Leading spaces\"\n"
2822 "\t\t\"Wine5b\"\t\t=\"Leading tabs\"\n"
2823 "\t \"Wine5c\"=\t \"Tabs and spaces\"\n"
2824 " \"Wine5d\" \t = \t \"More whitespace\"\n\n");
2831 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2832 "\" Wine6a\"=\"Leading spaces\"\n"
2833 "\"\t\tWine6b\"=\"Leading tabs\"\n"
2834 " \" Wine6c \" = \" Spaces everywhere \" \n\n");
2840 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2841 "\"Wine7a\"=\" Four spaces in the data\"\n"
2842 "\"Wine7b\"=\"\t\tTwo tabs in the data\"\n\n");
2847 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2848 "\"Wine8a\"=\"Trailing spaces\" \n"
2849 "\"Wine8b\"=\"Trailing tabs and spaces\"\t \t\n\n");
2854 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2855 "\"Wine9a\"=dword: 00000008\n"
2856 "\"Wine9b\"=dword:\t\t00000008\n\n");
2862 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2863 "@ = \"Test Value\"\n\n");
2867 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2868 "\t@\t=\tdword:\t00000008\t\n\n");
2872 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2873 "\"Wine10a\"=hex(7):4c,69,6e,65,20,\\\n"
2875 " 63,61,74,\\\n\n\n"
2877 " 61,74,69,6f,6e,00,00\n\n");
2881 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2882 "\"Wine10b\"=hex(7):4c,69,6e,65,20,\\\n"
2884 " 63,61,74,\\\n\t\n\t\n"
2885 " 65,6e,\\\n\t \t\n\t \t\n\t \t\n"
2886 " 61,74,69,6f,6e,00,00\n\n");
2903 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n\n");
2908 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2909 "\"Wine1a\"=\"Value\"\n\n");
2913 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2914 "\"Wine1b\"=\"Value\"\n\n");
2917 exec_import_wstr(
"\xef\xbb\xbf \t Windows Registry Editor Version 5.00\n\n"
2918 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2919 "\"Wine1c\"=\"Value\"\n\n");
2923 " [HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2924 "\"Wine2a\"=\"Value\"\n\n");
2928 "\t[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2929 "\"Wine2b\"=\"Value\"\n\n");
2933 " \t [HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2934 "\"Wine2c\"=\"Value\"\n\n");
2938 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2939 " \"Wine3a\"=\"Two leading spaces\"\n\n");
2943 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2944 "\t\"Wine3b\"=\"One leading tab\"\n\n");
2948 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2949 " \t \"Wine3c\"=\"Space, tab, space\"\n\n");
2953 "\t\t\t[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2954 "\t \"Wine4a\"=\"Tab and four spaces\"\n"
2955 " \"Wine4b\"=dword:00112233\n"
2956 "\t \t \t \t \t \t \"Wine4c\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n"
2957 " 63,00,6f,00,6e,00,\\;comment\n"
2958 "\t\t\t\t63,00,61,00,74,00,\\;comment\n"
2959 " \t65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
2966 "\t[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2967 " \"Wine5a\"=\"Leading spaces\"\n"
2968 "\t\t\"Wine5b\"\t\t=\"Leading tabs\"\n"
2969 "\t \"Wine5c\"=\t \"Tabs and spaces\"\n"
2970 " \"Wine5d\" \t = \t \"More whitespace\"\n\n");
2977 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2978 "\" Wine6a\"=\"Leading spaces\"\n"
2979 "\"\t\tWine6b\"=\"Leading tabs\"\n"
2980 " \" Wine6c \" = \" Spaces everywhere \" \n\n");
2986 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2987 "\"Wine7a\"=\" Four spaces in the data\"\n"
2988 "\"Wine7b\"=\"\t\tTwo tabs in the data\"\n\n");
2993 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
2994 "\"Wine8a\"=\"Trailing spaces\" \n"
2995 "\"Wine8b\"=\"Trailing tabs and spaces\"\t \t\n\n");
3000 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
3001 "\"Wine9a\"=dword: 00000008\n"
3002 "\"Wine9b\"=dword:\t\t00000008\n\n");
3008 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
3009 "@ = \"Test Value\"\n\n");
3013 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
3014 "\t@\t=\tdword:\t00000008\t\n\n");
3018 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
3019 "\"Wine10a\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n"
3020 " 63,00,6f,00,6e,00,\\\n\n"
3021 " 63,00,61,00,74,00,\\\n\n\n"
3022 " 65,00,6e,00,\\\n\n\n\n"
3023 " 61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
3027 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
3028 "\"Wine10b\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n"
3029 " 63,00,6f,00,6e,00,\\\n \n"
3030 " 63,00,61,00,74,00,\\\n\t\n\t\n"
3031 " 65,00,6e,00,\\\n\t \t\n\t \t\n\t \t\n"
3032 " 61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n");
3048 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n\n");
3054 "HKEY_CURRENT_USER\\" KEY_BASE "\\No_Opening_Bracket]\n");
3058 "[HKEY_CURRENT_USER\\" KEY_BASE "\\No_Closing_Bracket\n");
3062 "[ HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1a]\n");
3066 "[\tHKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1b]\n");
3070 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1c ]\n");
3075 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1d\t]\n");
3080 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1e\\]\n"
3081 "\"Wine\"=\"Test value\"\n\n");
3084 open_key(hkey,
"Subkey1e", 0, &subkey);
3090 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1f\\\\]\n"
3091 "\"Wine\"=\"Test value\"\n\n");
3095 open_key(hkey,
"Subkey1f\\\\", 0, &subkey);
3101 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1g\\\\\\\\]\n"
3102 "\"Wine\"=\"Test value\"\n\n");
3107 open_key(hkey,
"Subkey1g\\\\", 0, &subkey);
3114 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2a]\n\n"
3115 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2b]\n\n");
3120 "[ -HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2a]\n");
3124 "[\t-HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2b]\n");
3128 "[- HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2a]\n");
3132 "[-\tHKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2b]\n");
3136 "[-HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2a]\n\n"
3137 "[-HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2b]\n\n");
3143 "[hkey_CURRENT_user\\" KEY_BASE "\\Subkey3a]\n\n"
3144 "[HkEy_CuRrEnT_uSeR\\" KEY_BASE "\\SuBkEy3b]\n\n");
3149 "[-HKEY_current_USER\\" KEY_BASE "\\sUBKEY3A]\n\n"
3150 "[-hKeY_cUrReNt_UsEr\\" KEY_BASE "\\sUbKeY3B]\n\n");
3156 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey4a]\n\n");
3160 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n\n"
3161 "[-HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey4a]\n"
3162 "\"Wine1a\"=dword:12345678\n\n");
3167 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n\n"
3168 "[HKEY_CURRENT_USERS\\" KEY_BASE "\\Subkey4b]\n"
3169 "\"Wine1b\"=dword:12345678\n\n");
3186 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n\n");
3192 "HKEY_CURRENT_USER\\" KEY_BASE "\\No_Opening_Bracket]\n");
3196 "[HKEY_CURRENT_USER\\" KEY_BASE "\\No_Closing_Bracket\n");
3200 "[ HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1a]\n");
3204 "[\tHKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1b]\n");
3208 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1c ]\n");
3213 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1d\t]\n");
3218 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1e\\]\n"
3219 "\"Wine\"=\"Test value\"\n\n");
3222 open_key(hkey,
"Subkey1e", 0, &subkey);
3228 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1f\\\\]\n"
3229 "\"Wine\"=\"Test value\"\n\n");
3233 open_key(hkey,
"Subkey1f\\\\", 0, &subkey);
3239 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1g\\\\\\\\]\n"
3240 "\"Wine\"=\"Test value\"\n\n");
3245 open_key(hkey,
"Subkey1g\\\\", 0, &subkey);
3252 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2a]\n\n"
3253 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2b]\n\n");
3258 "[ -HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2a]\n");
3262 "[\t-HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2b]\n");
3266 "[- HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2a]\n");
3270 "[-\tHKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2b]\n");
3274 "[-HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2a]\n\n"
3275 "[-HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2b]\n\n");
3281 "[hkey_CURRENT_user\\" KEY_BASE "\\Subkey3a]\n\n"
3282 "[HkEy_CuRrEnT_uSeR\\" KEY_BASE "\\SuBkEy3b]\n\n");
3287 "[-HKEY_current_USER\\" KEY_BASE "\\sUBKEY3A]\n\n"
3288 "[-hKeY_cUrReNt_UsEr\\" KEY_BASE "\\sUbKeY3B]\n\n");
3294 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey4a]\n\n");
3298 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n\n"
3299 "[-HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey4a]\n"
3300 "\"Wine1a\"=dword:12345678\n\n");
3305 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n\n"
3306 "[HKEY_CURRENT_USERS\\" KEY_BASE "\\Subkey4b]\n"
3307 "\"Wine1b\"=dword:12345678\n\n");
3320 BYTE hex[4] = {0x11, 0x22, 0x33, 0x44};
3326 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n\n");
3332 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
3333 "\"Wine46a\"=\"Test Value\"\n"
3334 "\"Wine46b\"=dword:00000008\n"
3335 "\"Wine46c\"=hex:11,22,33,44\n"
3336 "\"Wine46d\"=hex(7):4c,69,6e,65,20,\\\n"
3337 " 63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n"
3338 "\"Wine46e\"=hex(2):25,50,41,54,48,25,00\n"
3339 "\"Wine46f\"=hex(0):56,00,61,00,6c,00,75,00,65,00,00,00\n\n");
3348 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
3351 "\"Wine46c\"= \t-\t \n"
3352 "\"Wine46d\"=-\"Test\"\n"
3353 "\"Wine46e\"=- ;comment\n"
3354 "\"Wine46f\"=- #comment\n\n");
3372 BYTE hex[4] = {0x11, 0x22, 0x33, 0x44};
3378 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n\n");
3384 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
3385 "\"Wine46a\"=\"Test Value\"\n"
3386 "\"Wine46b\"=dword:00000008\n"
3387 "\"Wine46c\"=hex:11,22,33,44\n"
3388 "\"Wine46d\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n"
3389 " 63,00,6f,00,6e,00,63,00,61,00,74,00,\\\n"
3390 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n"
3391 "\"Wine46e\"=hex(2):25,00,50,00,41,00,54,00,48,00,25,00,00,00\n"
3392 "\"Wine46f\"=hex(0):56,00,61,00,6c,00,75,00,65,00,00,00\n\n");
3401 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
3404 "\"Wine46c\"= \t-\t \n"
3405 "\"Wine46d\"=-\"Test\"\n"
3406 "\"Wine46e\"=- ;comment\n"
3407 "\"Wine46f\"=- #comment\n\n");
3420#define compare_export(f,e,todo) compare_export_(__LINE__,f,e,todo)
3430 if (!fp)
return FALSE;
3438 if (!fbuf)
goto error;
3446 if (!wstr)
goto exit;
3450 lok(!
lstrcmpW(fbuf, wstr),
"export data does not match expected data\n");
3472 "\xef\xbb\xbfWindows Registry Editor Version 5.00\r\n\r\n"
3473 "[HKEY_CURRENT_USER\\" KEY_BASE "]\r\n\r\n";
3475 const char *simple_test =
3476 "\xef\xbb\xbfWindows Registry Editor Version 5.00\r\n\r\n"
3477 "[HKEY_CURRENT_USER\\" KEY_BASE "]\r\n"
3478 "\"DWORD\"=dword:00000100\r\n"
3479 "\"String\"=\"Your text here...\"\r\n\r\n";
3481 const char *complex_test =
3482 "\xef\xbb\xbfWindows Registry Editor Version 5.00\r\n\r\n"
3483 "[HKEY_CURRENT_USER\\" KEY_BASE "]\r\n"
3484 "\"DWORD\"=dword:00000100\r\n"
3485 "\"String\"=\"Your text here...\"\r\n\r\n"
3486 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1]\r\n"
3487 "\"Binary\"=hex:11,22,33,44\r\n"
3488 "\"Undefined hex\"=hex(100):25,50,41,54,48,25,00\r\n\r\n"
3489 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2a]\r\n"
3490 "\"double\\\"quote\"=\"\\\"Hello, World!\\\"\"\r\n"
3491 "\"single'quote\"=dword:00000008\r\n\r\n"
3492 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2a\\Subkey2b]\r\n"
3493 "@=\"Default value name\"\r\n"
3494 "\"Multiple strings\"=hex(7):4c,00,69,00,6e,00,65,00,31,00,00,00,4c,00,69,00,6e,\\\r\n"
3495 " 00,65,00,32,00,00,00,4c,00,69,00,6e,00,65,00,33,00,00,00,00,00\r\n\r\n"
3496 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey3a]\r\n"
3497 "\"Backslash\"=\"Use \\\\\\\\ to escape a backslash\"\r\n\r\n"
3498 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey3a\\Subkey3b]\r\n\r\n"
3499 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey3a\\Subkey3b\\Subkey3c]\r\n"
3500 "\"String expansion\"=hex(2):25,00,48,00,4f,00,4d,00,45,00,25,00,5c,00,25,00,50,\\\r\n"
3501 " 00,41,00,54,00,48,00,25,00,00,00\r\n"
3502 "\"Zero data type\"=hex(0):56,61,6c,75,65,00\r\n\r\n"
3503 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey4]\r\n"
3504 "@=dword:12345678\r\n"
3505 "\"43981\"=hex(abcd):56,61,6c,75,65,00\r\n\r\n";
3508 "\xef\xbb\xbfWindows Registry Editor Version 5.00\r\n\r\n"
3509 "[HKEY_CURRENT_USER\\" KEY_BASE "]\r\n\r\n"
3510 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1]\r\n\r\n"
3511 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2]\r\n\r\n";
3514 "\xef\xbb\xbfWindows Registry Editor Version 5.00\r\n\r\n"
3515 "[HKEY_CURRENT_USER\\" KEY_BASE "]\r\n"
3516 "\"Value 2\"=\"I was added first!\"\r\n"
3517 "\"Value 1\"=\"I was added second!\"\r\n\r\n";
3520 "\xef\xbb\xbfWindows Registry Editor Version 5.00\r\n\r\n"
3521 "[HKEY_CURRENT_USER\\" KEY_BASE "]\r\n"
3522 "\"Wine1a\"=hex(0):\r\n"
3523 "\"Wine1b\"=\"\"\r\n"
3524 "\"Wine1c\"=hex(2):\r\n"
3525 "\"Wine1d\"=hex:\r\n"
3526 "\"Wine1e\"=hex(4):\r\n"
3527 "\"Wine1f\"=hex(7):\r\n"
3528 "\"Wine1g\"=hex(100):\r\n"
3529 "\"Wine1h\"=hex(abcd):\r\n\r\n";
3532 "\xef\xbb\xbfWindows Registry Editor Version 5.00\r\n\r\n"
3533 "[HKEY_CURRENT_USER\\" KEY_BASE "]\r\n"
3534 "\"Wine2a\"=\"\"\r\n"
3535 "\"Wine2b\"=hex:\r\n"
3536 "\"Wine2c\"=hex(4):\r\n\r\n";
3539 "\xef\xbb\xbfWindows Registry Editor Version 5.00\r\n\r\n"
3540 "[HKEY_CURRENT_USER\\" KEY_BASE "]\r\n"
3541 "\"Wine3a\"=\"Value\"\r\n"
3542 "\"Wine3b\"=hex:12,34,56,78\r\n"
3543 "\"Wine3c\"=dword:10203040\r\n\r\n";
3546 "\xef\xbb\xbfWindows Registry Editor Version 5.00\r\n\r\n"
3547 "[HKEY_CURRENT_USER\\" KEY_BASE "]\r\n"
3548 "\"Wine4a\"=dword:00000005\r\n"
3549 "\"Wine4b\"=\"\"\r\n"
3550 "\"Wine4c\"=\"Value\"\r\n"
3551 "\"Wine4d\"=\"\"\r\n"
3552 "\"Wine4e\"=dword:00000100\r\n"
3553 "\"Wine4f\"=\"\"\r\n"
3554 "\"Wine4g\"=\"Value2\"\r\n"
3555 "\"Wine4h\"=\"abc\"\r\n\r\n";
3558 "\xef\xbb\xbfWindows Registry Editor Version 5.00\r\n\r\n"
3559 "[HKEY_CURRENT_USER\\" KEY_BASE "]\r\n"
3560 "\"count/up\"=\"one/two/three\"\r\n"
3561 "\"\\\\foo\\\\bar\"=\"\"\r\n\r\n"
3562 "[HKEY_CURRENT_USER\\" KEY_BASE "\\https://winehq.org]\r\n\r\n";
3565 "\xef\xbb\xbfWindows Registry Editor Version 5.00\r\n\r\n"
3566 "[HKEY_CURRENT_USER\\" KEY_BASE "]\r\n"
3567 "\"Wine5a\"=\"\\\\0\"\r\n"
3568 "\"Wine5b\"=\"\\\\0\\\\0\"\r\n"
3569 "\"Wine5c\"=\"Value1\\\\0\"\r\n"
3570 "\"Wine5d\"=\"Value2\\\\0\\\\0\\\\0\\\\0\"\r\n"
3571 "\"Wine5e\"=\"Value3\\\\0Value4\"\r\n"
3572 "\"Wine5f\"=\"\\\\0Value5\"\r\n\r\n";
3589 ok(
compare_export(
"file.reg", simple_test, 0),
"compare_export() failed\n");
3592 add_key(hkey,
"Subkey1", &subkey);
3594 add_value(subkey,
"Undefined hex", 0x100,
"%PATH%", 7);
3597 add_key(hkey,
"Subkey2a", &subkey);
3603 add_key(hkey,
"Subkey2a\\Subkey2b", &subkey);
3608 add_key(hkey,
"Subkey3a", &subkey);
3609 add_value(subkey,
"Backslash",
REG_SZ,
"Use \\\\ to escape a backslash", 29);
3612 add_key(hkey,
"Subkey3a\\Subkey3b\\Subkey3c", &subkey);
3617 add_key(hkey,
"Subkey4", &subkey);
3620 add_value(subkey,
"43981", 0xabcd,
"Value", 6);
3625 ok(
compare_export(
"file.reg", complex_test, 0),
"compare_export() failed\n");
3630 add_key(hkey,
"Subkey2", &subkey);
3632 add_key(hkey,
"Subkey1", &subkey);
3669 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
3670 "\"Wine2a\"=hex(1):\n"
3671 "\"Wine2b\"=hex(3):\n"
3672 "\"Wine2c\"=hex(4):\n\n");
3685 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
3686 "\"Wine3a\"=hex(1):56,00,61,00,6c,00,75,00,65,00,00,00\n"
3687 "\"Wine3b\"=hex(3):12,34,56,78\n"
3688 "\"Wine3c\"=hex(4):40,30,20,10\n\n");
3702 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n"
3703 "\"Wine4a\"=dword:00000005\n"
3704 "\"Wine4b\"=hex(1):00,00,00,00,00,00,00,00\n"
3705 "\"Wine4c\"=\"Value\"\n"
3706 "\"Wine4d\"=hex(1):00,00,61,00,62,00,63,00\n"
3707 "\"Wine4e\"=dword:00000100\n"
3708 "\"Wine4f\"=hex(1):00,00,56,00,61,00,6c,00,75,00,65,00,00,00\n"
3709 "\"Wine4g\"=\"Value2\"\n"
3710 "\"Wine4h\"=hex(1):61,00,62,00,63,00,00,00, \\\n"
3711 " 64,00,65,00,66,00,00,00\n\n");
3731 add_key(hkey,
"https://winehq.org", &subkey);
3765 win_skip(
"User is a non-elevated admin; skipping regedit tests.\n");
3773 win_skip(
"User is a non-elevated admin; skipping regedit tests.\n");
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
ACPI_SIZE strlen(const char *String)
char * strcpy(char *DstString, const char *SrcString)
#define RegCloseKey(hKey)
#define ERROR_NOT_ENOUGH_MEMORY
LONG WINAPI RegSetValueExA(HKEY hKey, LPCSTR lpValueName, DWORD Reserved, DWORD dwType, CONST BYTE *lpData, DWORD cbData)
LONG WINAPI RegOpenKeyExA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey, _In_ DWORD ulOptions, _In_ REGSAM samDesired, _Out_ PHKEY phkResult)
LONG WINAPI RegQueryInfoKeyA(HKEY hKey, LPSTR lpClass, LPDWORD lpcClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcMaxSubKeyLen, LPDWORD lpcMaxClassLen, LPDWORD lpcValues, LPDWORD lpcMaxValueNameLen, LPDWORD lpcMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime)
LONG WINAPI RegDeleteValueA(HKEY hKey, LPCSTR lpValueName)
LONG WINAPI RegQueryValueExA(_In_ HKEY hkeyorg, _In_ LPCSTR name, _In_ LPDWORD reserved, _Out_opt_ LPDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ LPDWORD count)
LONG WINAPI RegCreateKeyExA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey, _In_ DWORD Reserved, _In_ LPSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_ LPDWORD lpdwDisposition)
LONG WINAPI RegEnumKeyExA(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_ LPSTR lpName, _Inout_ LPDWORD lpcbName, _Reserved_ LPDWORD lpReserved, _Out_opt_ LPSTR lpClass, _Inout_opt_ LPDWORD lpcbClass, _Out_opt_ PFILETIME lpftLastWriteTime)
LONG WINAPI RegDeleteKeyA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey)
static const WCHAR empty[]
#define INVALID_HANDLE_VALUE
#define CreateFileA(a, b, c, d, e, f, g)
#define ERROR_NO_MORE_ITEMS
#define HeapFree(x, y, z)
#define FILE_ATTRIBUTE_NORMAL
#define MultiByteToWideChar
#define ERROR_ACCESS_DENIED
static void cleanup(void)
BOOL WINAPI DeleteFileA(IN LPCSTR lpFileName)
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessA(LPCSTR lpApplicationName, LPSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCSTR lpCurrentDirectory, LPSTARTUPINFOA lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation)
BOOL WINAPI TerminateProcess(IN HANDLE hProcess, IN UINT uExitCode)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
_CRTIMP void __cdecl rewind(_Inout_ FILE *_File)
_Check_return_opt_ _CRTIMP size_t __cdecl fread(_Out_writes_bytes_(_ElementSize *_Count) void *_DstBuf, _In_ size_t _ElementSize, _In_ size_t _Count, _Inout_ FILE *_File)
_Check_return_ _CRTIMP FILE *__cdecl fopen(_In_z_ const char *_Filename, _In_z_ const char *_Mode)
_Check_return_opt_ _CRTIMP int __cdecl fseek(_Inout_ FILE *_File, _In_ long _Offset, _In_ int _Origin)
_Check_return_opt_ _CRTIMP int __cdecl fclose(_Inout_ FILE *_File)
_Check_return_ _CRTIMP long __cdecl ftell(_Inout_ FILE *_File)
#define memcpy(s1, s2, n)
#define ERROR_FILE_NOT_FOUND
#define todo_wine_if(is_todo)
static ACCESS_MASK const OBJECT_ATTRIBUTES ULONG const UNICODE_STRING ULONG PULONG dispos
const char * empty_hex_test2
const char * hex_types_test
const char * escaped_null_test
const char * key_order_test
const char * slashes_test
const char * embedded_null_test
const char * value_order_test
const char * empty_hex_test
const char * empty_key_test
static void r_verify_reg_nonexist(unsigned line, HKEY key, const char *value_name)
#define add_value(k, n, t, d, s)
static void test_invalid_import(void)
static void test_invalid_import_unicode(void)
#define compare_export(f, e, todo)
static void verify_key_(unsigned line, HKEY key_base, const char *subkey)
static void test_export(void)
static BOOL compare_export_(unsigned line, const char *filename, const char *expected, DWORD todo)
#define open_key(b, p, s, k)
static void add_value_(unsigned line, HKEY hkey, const char *name, DWORD type, const void *data, size_t size)
#define verify_key_nonexist(k, s)
#define run_regedit_exe(c)
#define verify_reg(k, v, t, d, s, todo)
static void test_invalid_import_31(void)
static void test_value_deletion_unicode(void)
static void delete_key_(unsigned line, const HKEY hkey, const char *path)
static BOOL import_reg(unsigned line, const char *contents, BOOL unicode)
#define delete_value(k, n)
static void test_comments_unicode(void)
static BOOL write_file(const void *str, DWORD size)
static void delete_value_(unsigned line, const HKEY hkey, const char *name)
#define exec_import_str(c)
static void close_key_(unsigned line, HKEY hkey)
static void add_key_(unsigned line, const HKEY hkey, const char *path, HKEY *subkey)
#define verify_reg_nonexist(k, n)
static void test_basic_import(void)
#define exec_import_wstr(c)
static void verify_reg_(unsigned line, HKEY hkey, const char *value, DWORD exp_type, const void *exp_data, DWORD exp_size, DWORD todo)
static void test_basic_import_31(void)
static void test_import_with_whitespace(void)
static void test_key_creation_and_deletion_unicode(void)
static BOOL run_regedit_exe_(unsigned line, const char *cmd)
static void verify_key_nonexist_(unsigned line, HKEY key_base, const char *subkey)
static void test_value_deletion(void)
static void open_key_(unsigned line, const HKEY base, const char *path, const DWORD sam, HKEY *hkey)
static void test_basic_import_unicode(void)
static void test_import_with_whitespace_unicode(void)
static void test_key_creation_and_deletion(void)
static void test_comments(void)
static const char * contents
#define REG_OPTION_NON_VOLATILE
#define REG_OPENED_EXISTING_KEY
#define delete_tree(r, p, s)
static unsigned int file_size
struct ChNotifyTest * exp_data
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
struct _STARTUPINFOA STARTUPINFOA
DWORD WINAPI GetLastError(void)
#define STARTF_USESTDHANDLES
#define HKEY_CURRENT_USER
#define HKEY_CLASSES_ROOT