Holger Hans Peter Freyther | b79a148 | 2014-01-02 13:55:00 +0100 | [diff] [blame] | 1 | Plain dump |
| 2 | 00 01 02 03 |
Neels Hofmeyr | 0423b61 | 2019-01-14 23:32:53 +0100 | [diff] [blame] | 3 | 00010203 |
Holger Hans Peter Freyther | b79a148 | 2014-01-02 13:55:00 +0100 | [diff] [blame] | 4 | Corner case |
| 5 | 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 |
Nils O. SelÄsdal | 3244702 | 2014-01-02 14:04:43 +0100 | [diff] [blame] | 6 | 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfe |
Neels Hofmeyr | 0423b61 | 2019-01-14 23:32:53 +0100 | [diff] [blame] | 7 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, "[delim]", false) |
| 8 | = "00[delim]01[delim]02[delim]03" |
| 9 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, "[delim]", true) |
| 10 | = "00[delim]01[delim]02[delim]03[delim]" |
| 11 | osmo_hexdump_buf(buf, 6, data, 4, "[delim]", false) |
| 12 | = "" |
| 13 | osmo_hexdump_buf(buf, 7, data, 4, "[delim]", false) |
| 14 | = "" |
| 15 | osmo_hexdump_buf(buf, 8, data, 4, "[delim]", false) |
| 16 | = "" |
| 17 | osmo_hexdump_buf(buf, 6, data, 4, "[delim]", true) |
| 18 | = "" |
| 19 | osmo_hexdump_buf(buf, 7, data, 4, "[delim]", true) |
| 20 | = "" |
| 21 | osmo_hexdump_buf(buf, 8, data, 4, "[delim]", true) |
| 22 | = "" |
| 23 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, " ", false) |
| 24 | = "00 01 02 03" |
| 25 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, " ", true) |
| 26 | = "00 01 02 03 " |
| 27 | osmo_hexdump_buf(buf, 6, data, 4, " ", false) |
| 28 | = "00 " |
| 29 | osmo_hexdump_buf(buf, 7, data, 4, " ", false) |
| 30 | = "00 01 " |
| 31 | osmo_hexdump_buf(buf, 8, data, 4, " ", false) |
| 32 | = "00 01 " |
| 33 | osmo_hexdump_buf(buf, 6, data, 4, " ", true) |
| 34 | = "00 " |
| 35 | osmo_hexdump_buf(buf, 7, data, 4, " ", true) |
| 36 | = "00 01 " |
| 37 | osmo_hexdump_buf(buf, 8, data, 4, " ", true) |
| 38 | = "00 01 " |
| 39 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, ":", false) |
| 40 | = "00:01:02:03" |
| 41 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, ":", true) |
| 42 | = "00:01:02:03:" |
| 43 | osmo_hexdump_buf(buf, 6, data, 4, ":", false) |
| 44 | = "00:" |
| 45 | osmo_hexdump_buf(buf, 7, data, 4, ":", false) |
| 46 | = "00:01:" |
| 47 | osmo_hexdump_buf(buf, 8, data, 4, ":", false) |
| 48 | = "00:01:" |
| 49 | osmo_hexdump_buf(buf, 6, data, 4, ":", true) |
| 50 | = "00:" |
| 51 | osmo_hexdump_buf(buf, 7, data, 4, ":", true) |
| 52 | = "00:01:" |
| 53 | osmo_hexdump_buf(buf, 8, data, 4, ":", true) |
| 54 | = "00:01:" |
| 55 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, "::", false) |
| 56 | = "00::01::02::03" |
| 57 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, "::", true) |
| 58 | = "00::01::02::03::" |
| 59 | osmo_hexdump_buf(buf, 6, data, 4, "::", false) |
| 60 | = "00::" |
| 61 | osmo_hexdump_buf(buf, 7, data, 4, "::", false) |
| 62 | = "00::" |
| 63 | osmo_hexdump_buf(buf, 8, data, 4, "::", false) |
| 64 | = "00::" |
| 65 | osmo_hexdump_buf(buf, 6, data, 4, "::", true) |
| 66 | = "00::" |
| 67 | osmo_hexdump_buf(buf, 7, data, 4, "::", true) |
| 68 | = "00::" |
| 69 | osmo_hexdump_buf(buf, 8, data, 4, "::", true) |
| 70 | = "00::" |
| 71 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, "", false) |
| 72 | = "00010203" |
| 73 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, "", true) |
| 74 | = "00010203" |
| 75 | osmo_hexdump_buf(buf, 6, data, 4, "", false) |
| 76 | = "0001" |
| 77 | osmo_hexdump_buf(buf, 7, data, 4, "", false) |
| 78 | = "000102" |
| 79 | osmo_hexdump_buf(buf, 8, data, 4, "", false) |
| 80 | = "000102" |
| 81 | osmo_hexdump_buf(buf, 6, data, 4, "", true) |
| 82 | = "0001" |
| 83 | osmo_hexdump_buf(buf, 7, data, 4, "", true) |
| 84 | = "000102" |
| 85 | osmo_hexdump_buf(buf, 8, data, 4, "", true) |
| 86 | = "000102" |
| 87 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, NULL, false) |
| 88 | = "00010203" |
| 89 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, NULL, true) |
| 90 | = "00010203" |
| 91 | osmo_hexdump_buf(buf, 6, data, 4, NULL, false) |
| 92 | = "0001" |
| 93 | osmo_hexdump_buf(buf, 7, data, 4, NULL, false) |
| 94 | = "000102" |
| 95 | osmo_hexdump_buf(buf, 8, data, 4, NULL, false) |
| 96 | = "000102" |
| 97 | osmo_hexdump_buf(buf, 6, data, 4, NULL, true) |
| 98 | = "0001" |
| 99 | osmo_hexdump_buf(buf, 7, data, 4, NULL, true) |
| 100 | = "000102" |
| 101 | osmo_hexdump_buf(buf, 8, data, 4, NULL, true) |
| 102 | = "000102" |
Neels Hofmeyr | 7adb567 | 2017-02-14 15:48:19 +0100 | [diff] [blame] | 103 | |
| 104 | Hexparse 0..255 in lower case |
| 105 | rc = 256 |
| 106 | --> 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff |
| 107 | |
| 108 | Hexparse 0..255 in upper case |
| 109 | rc = 256 |
| 110 | --> 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff |
| 111 | |
| 112 | Hexparse 0..255 in mixed case |
| 113 | rc = 256 |
| 114 | --> 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff |
| 115 | |
Neels Hofmeyr | 437ed4a | 2017-02-14 15:54:31 +0100 | [diff] [blame] | 116 | Hexparse 0..255 with whitespace |
| 117 | rc = 256 |
| 118 | --> 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff |
| 119 | |
Neels Hofmeyr | 7adb567 | 2017-02-14 15:48:19 +0100 | [diff] [blame] | 120 | Hexparse with buffer too short |
| 121 | rc = -1 |
| 122 | Hexparse with uneven amount of digits |
| 123 | rc = -1 |
| 124 | Hexparse with invalid char |
| 125 | rc = -1 |
Neels Hofmeyr | 4335bad | 2017-10-07 04:39:14 +0200 | [diff] [blame] | 126 | |
Harald Welte | 7869baf | 2018-07-31 20:25:48 +0200 | [diff] [blame] | 127 | Testing IPA CCM ID GET parsing |
| 128 | |
| 129 | Testing IPA CCM ID RESP parsing |
| 130 | |
Neels Hofmeyr | 4335bad | 2017-10-07 04:39:14 +0200 | [diff] [blame] | 131 | ----- test_is_hexstr |
| 132 | 0: pass str='(null)' min=0 max=10 even=0 expect=valid |
| 133 | 1: pass str='(null)' min=1 max=10 even=0 expect=invalid |
| 134 | 2: pass str='' min=0 max=10 even=0 expect=valid |
| 135 | 3: pass str='' min=1 max=10 even=0 expect=invalid |
| 136 | 4: pass str=' ' min=0 max=10 even=0 expect=invalid |
| 137 | 5: pass str='1' min=0 max=10 even=0 expect=valid |
| 138 | 6: pass str='1' min=1 max=10 even=0 expect=valid |
| 139 | 7: pass str='1' min=1 max=10 even=1 expect=invalid |
| 140 | 8: pass str='1' min=2 max=10 even=0 expect=invalid |
| 141 | 9: pass str='123' min=1 max=10 even=0 expect=valid |
| 142 | 10: pass str='123' min=1 max=10 even=1 expect=invalid |
| 143 | 11: pass str='123' min=4 max=10 even=0 expect=invalid |
| 144 | 12: pass str='1234' min=4 max=10 even=1 expect=valid |
| 145 | 13: pass str='12345' min=4 max=10 even=1 expect=invalid |
| 146 | 14: pass str='123456' min=4 max=10 even=1 expect=valid |
| 147 | 15: pass str='1234567' min=4 max=10 even=1 expect=invalid |
| 148 | 16: pass str='12345678' min=4 max=10 even=1 expect=valid |
| 149 | 17: pass str='123456789' min=4 max=10 even=1 expect=invalid |
| 150 | 18: pass str='123456789a' min=4 max=10 even=1 expect=valid |
| 151 | 19: pass str='123456789ab' min=4 max=10 even=1 expect=invalid |
| 152 | 20: pass str='123456789abc' min=4 max=10 even=1 expect=invalid |
| 153 | 21: pass str='123456789ab' min=4 max=10 even=0 expect=invalid |
| 154 | 22: pass str='123456789abc' min=4 max=10 even=0 expect=invalid |
| 155 | 23: pass str='0123456789abcdefABCDEF' min=0 max=100 even=0 expect=valid |
| 156 | 24: pass str='0123456789 abcdef ABCDEF' min=0 max=100 even=0 expect=invalid |
| 157 | 25: pass str='foobar' min=0 max=100 even=0 expect=invalid |
| 158 | 26: pass str='BeadedBeeAced1EbbedDefacedFacade' min=32 max=32 even=1 expect=valid |
| 159 | 27: pass str='C01ffedC1cadaeAc1d1f1edAcac1aB0a' min=32 max=32 even=0 expect=valid |
| 160 | 28: pass str='DeafBeddedBabeAcceededFadedDecaff' min=32 max=32 even=0 expect=invalid |
Harald Welte | 504caac | 2017-10-27 17:19:59 +0200 | [diff] [blame] | 161 | |
| 162 | Testing BCD conversion |
| 163 | val=0x0, expected=0, found=0 |
| 164 | val=0x1, expected=1, found=1 |
| 165 | val=0x2, expected=2, found=2 |
| 166 | val=0x3, expected=3, found=3 |
| 167 | val=0x4, expected=4, found=4 |
| 168 | val=0x5, expected=5, found=5 |
| 169 | val=0x6, expected=6, found=6 |
| 170 | val=0x7, expected=7, found=7 |
| 171 | val=0x8, expected=8, found=8 |
| 172 | val=0x9, expected=9, found=9 |
| 173 | val=0xa, expected=A, found=A |
| 174 | val=0xb, expected=B, found=B |
| 175 | val=0xc, expected=C, found=C |
| 176 | val=0xd, expected=D, found=D |
| 177 | val=0xe, expected=E, found=E |
| 178 | val=0xf, expected=F, found=F |
Neels Hofmeyr | 9910bbc | 2017-12-16 00:54:52 +0100 | [diff] [blame] | 179 | |
Neels Hofmeyr | 7079e69 | 2018-12-05 21:02:36 +0100 | [diff] [blame] | 180 | Testing bcd to string conversion |
| 181 | - BCD-input='1a 32 54 76 98 f0' nibbles=[1..11[ str_size=64 |
| 182 | rc=10 |
| 183 | -> "1234567890" |
| 184 | - BCD-input='1a 32 a4 cb 9d f0' nibbles=[1..11[ str_size=64 |
| 185 | rc=-22 |
| 186 | -> "1234ABCD90" |
| 187 | - BCD-input='1a 32 a4 cb 9d f0' nibbles=[1..11[ str_size=64 |
| 188 | rc=10 |
| 189 | -> "1234ABCD90" |
| 190 | - BCD-input='1a 32 54 76 98 f0' nibbles=[1..12[ str_size=64 |
| 191 | rc=-22 |
| 192 | -> "1234567890F" |
| 193 | - BCD-input='1a 32 54 76 98 f0' nibbles=[1..12[ str_size=64 |
| 194 | rc=11 |
| 195 | -> "1234567890F" |
| 196 | - BCD-input='1a 32 54 76 98 f0' nibbles=[0..12[ str_size=64 |
| 197 | rc=12 |
| 198 | -> "A1234567890F" |
| 199 | - BCD-input='1a 32 54 76 98 f0' nibbles=[1..12[ str_size=5 |
| 200 | rc=11 |
| 201 | -> "1234" |
| 202 | - BCD-input='' nibbles=[1..1[ str_size=64 |
| 203 | rc=0 |
| 204 | -> "" |
| 205 | - zero output buffer |
| 206 | bcd2str(NULL, ...) -> -12 |
| 207 | bcd2str(dst, 0, ...) -> -12 |
| 208 | |
Neels Hofmeyr | 9910bbc | 2017-12-16 00:54:52 +0100 | [diff] [blame] | 209 | Testing string escaping |
| 210 | - all chars from 0 to 255 in batches of 16: |
| 211 | "\0\1\2\3\4\5\6\a\b\t\n\v\f\r\14\15" |
| 212 | "\16\17\18\19\20\21\22\23\24\25\26\27\28\29\30\31" |
| 213 | " !\"#$%&'()*+,-./" |
| 214 | "0123456789:;<=>?" |
| 215 | "@ABCDEFGHIJKLMNO" |
| 216 | "PQRSTUVWXYZ[\\]^_" |
| 217 | "`abcdefghijklmno" |
| 218 | "pqrstuvwxyz{|}~\127" |
| 219 | "\128\129\130\131\132\133\134\135\136\137\138\139\140\141\142\143" |
| 220 | "\144\145\146\147\148\149\150\151\152\153\154\155\156\157\158\159" |
| 221 | "\160\161\162\163\164\165\166\167\168\169\170\171\172\173\174\175" |
| 222 | "\176\177\178\179\180\181\182\183\184\185\186\187\188\189\190\191" |
| 223 | "\192\193\194\195\196\197\198\199\200\201\202\203\204\205\206\207" |
| 224 | "\208\209\210\211\212\213\214\215\216\217\218\219\220\221\222\223" |
| 225 | "\224\225\226\227\228\229\230\231\232\233\234\235\236\237\238\239" |
| 226 | "\240\241\242\243\244\245\246\247\248\249\250\251\252\253\254\255" |
| 227 | - nul terminated: |
| 228 | "termi\nated" |
| 229 | - passthru: |
| 230 | passed through unchanged "printable" |
| 231 | - zero length: |
| 232 | "" |
| 233 | - truncation when too long: |
| 234 | "\axxxxxxE" |
| 235 | - passthrough without truncation when no escaping needed: |
| 236 | "xxxxxxxxxxxxxxxxxxxE" |
Neels Hofmeyr | 04eb56f | 2018-04-09 00:41:28 +0200 | [diff] [blame] | 237 | |
| 238 | Testing string quoting |
| 239 | - all chars from 0 to 255 in batches of 16: |
| 240 | '"\0\1\2\3\4\5\6\a\b\t\n\v\f\r\14\15"' |
| 241 | '"\16\17\18\19\20\21\22\23\24\25\26\27\28\29\30\31"' |
| 242 | '" !\"#$%&'()*+,-./"' |
| 243 | '"0123456789:;<=>?"' |
| 244 | '"@ABCDEFGHIJKLMNO"' |
| 245 | '"PQRSTUVWXYZ[\\]^_"' |
| 246 | '"`abcdefghijklmno"' |
| 247 | '"pqrstuvwxyz{|}~\127"' |
| 248 | '"\128\129\130\131\132\133\134\135\136\137\138\139\140\141\142\143"' |
| 249 | '"\144\145\146\147\148\149\150\151\152\153\154\155\156\157\158\159"' |
| 250 | '"\160\161\162\163\164\165\166\167\168\169\170\171\172\173\174\175"' |
| 251 | '"\176\177\178\179\180\181\182\183\184\185\186\187\188\189\190\191"' |
| 252 | '"\192\193\194\195\196\197\198\199\200\201\202\203\204\205\206\207"' |
| 253 | '"\208\209\210\211\212\213\214\215\216\217\218\219\220\221\222\223"' |
| 254 | '"\224\225\226\227\228\229\230\231\232\233\234\235\236\237\238\239"' |
| 255 | '"\240\241\242\243\244\245\246\247\248\249\250\251\252\253\254\255"' |
| 256 | - nul terminated: |
| 257 | '"termi\nated"' |
| 258 | - never passthru: |
| 259 | NOT passed through. '"printable"' |
| 260 | - zero length: |
| 261 | '""' |
| 262 | - truncation when too long: |
| 263 | '"\axxxxE"' |
| 264 | - always truncation, even when no escaping needed: |
| 265 | '"xxxxxxE"' |
| 266 | - try to feed too little buf for quoting: |
| 267 | '<buf-too-small>' |
| 268 | - NULL string becomes a "NULL" literal: |
| 269 | 'NULL' |
Harald Welte | 15a5f8d | 2018-06-06 16:58:17 +0200 | [diff] [blame] | 270 | |
| 271 | Testing integer square-root |
Neels Hofmeyr | 59f4caf | 2018-07-19 22:13:19 +0200 | [diff] [blame] | 272 | |
| 273 | osmo_sockaddr_to_str_and_uint_test |
| 274 | [0] 0.0.0.0:0 addr_len=20 --> 0.0.0.0:0 rc=7 |
| 275 | [1] 255.255.255.255:65535 addr_len=20 --> 255.255.255.255:65535 rc=15 |
| 276 | [2] 234.23.42.123:1234 addr_len=20 --> 234.23.42.123:1234 rc=13 |
| 277 | [3] 234.23.42.123:1234 addr_len=10 --> 234.23.42:1234 rc=13 |
| 278 | [4] 234.23.42.123:1234 (omit port) addr_len=20 --> 234.23.42.123:0 rc=13 |
| 279 | [5] 234.23.42.123:1234 (omit addr) addr_len=0 --> :1234 rc=0 |
| 280 | [6] 234.23.42.123:1234 addr_len=0 --> :1234 rc=13 |
| 281 | [7] 234.23.42.123:1234 (omit addr) (omit port) addr_len=0 --> :0 rc=0 |
Neels Hofmeyr | 7c74989 | 2018-09-07 03:01:38 +0200 | [diff] [blame] | 282 | |
| 283 | osmo_str_tolowupper_test |
| 284 | osmo_str_tolower("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 285 | = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz!@#$%^&*()" |
| 286 | osmo_str_toupper("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 287 | = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()" |
| 288 | osmo_str_tolower_buf(99, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 289 | = 62, "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz!@#$%^&*()" |
| 290 | osmo_str_tolower_buf(99, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 291 | = 62, "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz!@#$%^&*()" |
| 292 | osmo_str_toupper_buf(99, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 293 | = 62, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()" |
| 294 | osmo_str_toupper_buf(99, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 295 | = 62, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()" |
| 296 | osmo_str_tolower_buf(0, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 297 | = 62, "Unset" |
| 298 | osmo_str_tolower_buf(0, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 299 | = 0, "Unset" |
| 300 | osmo_str_toupper_buf(0, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 301 | = 62, "Unset" |
| 302 | osmo_str_toupper_buf(0, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 303 | = 0, "Unset" |
| 304 | osmo_str_tolower_buf(1, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 305 | = 62, "" |
| 306 | osmo_str_tolower_buf(1, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 307 | = 0, "" |
| 308 | osmo_str_toupper_buf(1, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 309 | = 62, "" |
| 310 | osmo_str_toupper_buf(1, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 311 | = 0, "" |
| 312 | osmo_str_tolower_buf(2, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 313 | = 62, "a" |
| 314 | osmo_str_tolower_buf(2, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 315 | = 1, "a" |
| 316 | osmo_str_toupper_buf(2, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 317 | = 62, "A" |
| 318 | osmo_str_toupper_buf(2, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 319 | = 1, "A" |
| 320 | osmo_str_tolower_buf(28, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 321 | = 62, "abcdefghijklmnopqrstuvwxyza" |
| 322 | osmo_str_tolower_buf(28, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 323 | = 27, "abcdefghijklmnopqrstuvwxyza" |
| 324 | osmo_str_toupper_buf(28, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 325 | = 62, "ABCDEFGHIJKLMNOPQRSTUVWXYZA" |
| 326 | osmo_str_toupper_buf(28, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 327 | = 27, "ABCDEFGHIJKLMNOPQRSTUVWXYZA" |