[2/7] webservices: Add an index to the static dictionary.
Hans Leidekker
hans at codeweavers.com
Wed Jun 28 06:44:56 CDT 2017
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
---
dlls/webservices/string.c | 156 ++++++++++++++++++++++++++++++++-
dlls/webservices/webservices_private.h | 2 +-
2 files changed, 154 insertions(+), 4 deletions(-)
diff --git a/dlls/webservices/string.c b/dlls/webservices/string.c
index f9df48f..cbc7c5a 100644
--- a/dlls/webservices/string.c
+++ b/dlls/webservices/string.c
@@ -723,12 +723,162 @@ static const WS_XML_STRING dict_strings[] =
#undef X
};
+static const ULONG dict_sorted[] =
+{
+ 81, 91, 129, 314, 185, 164, 346, 66, 235, 305, 14, 6, 114, 97, 96, 94, 11, 95, 110, 451,
+ 443, 121, 213, 7, 71, 82, 431, 343, 74, 75, 73, 59, 447, 445, 467, 163, 472, 463, 453, 409,
+ 69, 286, 466, 444, 383, 67, 117, 26, 40, 345, 465, 90, 25, 77, 482, 455, 470, 344, 353, 80,
+ 70, 449, 299, 331, 251, 330, 5, 253, 224, 390, 120, 76, 281, 4, 276, 56, 118, 436, 72, 394,
+ 232, 464, 486, 456, 473, 459, 357, 393, 21, 269, 209, 54, 204, 55, 83, 35, 317, 196, 221, 321,
+ 433, 387, 22, 78, 288, 419, 461, 446, 457, 474, 261, 272, 424, 308, 1, 274, 322, 93, 319, 202,
+ 277, 416, 104, 318, 309, 165, 87, 85, 388, 389, 364, 300, 391, 52, 31, 227, 301, 167, 323, 458,
+ 462, 411, 194, 8, 198, 179, 256, 392, 270, 418, 303, 337, 296, 13, 283, 284, 311, 12, 9, 41,
+ 287, 53, 187, 18, 58, 483, 471, 468, 425, 49, 271, 295, 410, 116, 15, 379, 112, 119, 109, 42,
+ 17, 485, 469, 254, 50, 206, 415, 20, 228, 339, 430, 435, 320, 127, 242, 208, 86, 484, 452, 420,
+ 328, 210, 243, 200, 19, 170, 312, 429, 376, 275, 247, 313, 278, 279, 285, 166, 417, 460, 448, 454,
+ 257, 199, 267, 46, 47, 421, 171, 32, 282, 79, 57, 226, 347, 168, 450, 252, 260, 201, 310, 380,
+ 332, 361, 225, 414, 413, 68, 280, 438, 45, 325, 0, 128, 27, 306, 39, 60, 377, 184, 44, 294,
+ 351, 327, 476, 475, 266, 362, 48, 354, 355, 365, 89, 297, 324, 326, 479, 381, 84, 378, 349, 98,
+ 258, 259, 291, 412, 366, 348, 423, 478, 477, 169, 360, 406, 273, 229, 113, 407, 100, 88, 363, 205,
+ 289, 24, 255, 264, 231, 182, 183, 101, 207, 115, 263, 334, 342, 186, 43, 480, 335, 338, 203, 30,
+ 265, 244, 197, 23, 290, 230, 358, 408, 341, 367, 368, 245, 262, 195, 246, 374, 404, 405, 422, 268,
+ 375, 442, 359, 37, 33, 3, 180, 487, 62, 155, 156, 157, 111, 2, 122, 16, 38, 316, 315, 144,
+ 154, 481, 441, 103, 28, 382, 145, 152, 139, 141, 143, 150, 99, 102, 298, 214, 130, 63, 147, 138,
+ 140, 142, 428, 356, 131, 292, 434, 159, 293, 307, 158, 10, 437, 151, 352, 162, 105, 403, 395, 402,
+ 238, 241, 248, 153, 108, 398, 399, 373, 149, 249, 211, 148, 400, 401, 396, 132, 212, 146, 65, 123,
+ 397, 340, 240, 133, 440, 124, 223, 384, 385, 371, 329, 250, 236, 34, 432, 107, 386, 237, 304, 234,
+ 439, 333, 161, 222, 64, 239, 92, 233, 160, 134, 217, 220, 350, 136, 135, 137, 125, 426, 218, 126,
+ 372, 215, 216, 106, 336, 29, 219, 61, 302, 193, 369, 191, 192, 181, 370, 178, 189, 36, 188, 51,
+ 190, 174, 427, 176, 173, 177, 172, 175, 81, 91, 129, 314, 185, 164, 346, 66, 235, 305, 14, 6,
+ 114, 97, 96, 94, 11, 95, 110, 451, 443, 121, 213, 7, 71, 82, 431, 343, 74, 75, 73, 59,
+ 447, 445, 467, 163, 472, 463, 453, 409, 69, 286, 466, 444, 383, 67, 117, 26, 40, 345, 465, 90,
+ 25, 77, 482, 455, 470, 344, 353, 80, 70, 449, 299, 331, 251, 330, 5, 253, 224, 390, 120, 76,
+ 281, 4, 276, 56, 118, 436, 72, 394, 232, 464, 486, 456, 473, 459, 357, 393, 21, 269, 209, 54,
+ 204, 55, 83, 35, 317, 196, 221, 321, 433, 387, 22, 78, 288, 419, 461, 446, 457, 474, 261, 272,
+ 424, 308, 1, 274, 322, 93, 319, 202, 277, 416, 104, 318, 309, 165, 87, 85, 388, 389, 364, 300,
+ 391, 52, 31, 227, 301, 167, 323, 458, 462, 411, 194, 8, 198, 179, 256, 392, 270, 418, 303, 337,
+ 296, 13, 283, 284, 311, 12, 9, 41, 287, 53, 187, 18, 58, 483, 471, 468, 425, 49, 271, 295,
+ 410, 116, 15, 379, 112, 119, 109, 42, 17, 485, 469, 254, 50, 206, 415, 20, 228, 339, 430, 435,
+ 320, 127, 242, 208, 86, 484, 452, 420, 328, 210, 243, 200, 19, 170, 312, 429, 376, 275, 247, 313,
+ 278, 279, 285, 166, 417, 460, 448, 454, 257, 199, 267, 46, 47, 421, 171, 32, 282, 79, 57, 226,
+ 347, 168, 450, 252, 260, 201, 310, 380, 332, 361, 225, 414, 413, 68, 280, 438, 45, 325, 0, 128,
+ 27, 306, 39, 60, 377, 184, 44, 294, 351, 327, 476, 475, 266, 362, 48, 354, 355, 365, 89, 297,
+ 324, 326, 479, 381, 84, 378, 349, 98, 258, 259, 291, 412, 366, 348, 423, 478, 477, 169, 360, 406,
+ 273, 229, 113, 407, 100, 88, 363, 205, 289, 24, 255, 264, 231, 182, 183, 101, 207, 115, 263, 334,
+ 342, 186, 43, 480, 335, 338, 203, 30, 265, 244, 197, 23, 290, 230, 358, 408, 341, 367, 368, 245,
+ 262, 195, 246, 374, 404, 405, 422, 268, 375, 442, 359, 37, 33, 3, 180, 487, 62, 155, 156, 157,
+ 111, 2, 122, 16, 38, 316, 315, 144, 154, 481, 441, 103, 28, 382, 145, 152, 139, 141, 143, 150,
+ 99, 102, 298, 214, 130, 63, 147, 138, 140, 142, 428, 356, 131, 292, 434, 159, 293, 307, 158, 10,
+ 437, 151, 352, 162, 105, 403, 395, 402, 238, 241, 248, 153, 108, 398, 399, 373, 149, 249, 211, 148,
+ 400, 401, 396, 132, 212, 146, 65, 123, 397, 340, 240, 133, 440, 124, 223, 384, 385, 371, 329, 250,
+ 236, 34, 432, 107, 386, 237, 304, 234, 439, 333, 161, 222, 64, 239, 92, 233, 160, 134, 217, 220,
+ 350, 136, 135, 137, 125, 426, 218, 126, 372, 215, 216, 106, 336, 29, 219, 61, 302, 193, 369, 191,
+ 192, 181, 370, 178, 189, 36, 188, 51, 190, 174, 427, 176, 173, 177, 172, 175, 81, 91, 129, 314,
+ 185, 164, 346, 66, 235, 305, 14, 6, 114, 97, 96, 94, 11, 95, 110, 451, 443, 121, 213, 7,
+ 71, 82, 431, 343, 74, 75, 73, 59, 447, 445, 467, 163, 472, 463, 453, 409, 69, 286, 466, 444,
+ 383, 67, 117, 26, 40, 345, 465, 90, 25, 77, 482, 455, 470, 344, 353, 80, 70, 449, 299, 331,
+ 251, 330, 5, 253, 224, 390, 120, 76, 281, 4, 276, 56, 118, 436, 72, 394, 232, 464, 486, 456,
+ 473, 459, 357, 393, 21, 269, 209, 54, 204, 55, 83, 35, 317, 196, 221, 321, 433, 387, 22, 78,
+ 288, 419, 461, 446, 457, 474, 261, 272, 424, 308, 1, 274, 322, 93, 319, 202, 277, 416, 104, 318,
+ 309, 165, 87, 85, 388, 389, 364, 300, 391, 52, 31, 227, 301, 167, 323, 458, 462, 411, 194, 8,
+ 198, 179, 256, 392, 270, 418, 303, 337, 296, 13, 283, 284, 311, 12, 9, 41, 287, 53, 187, 18,
+ 58, 483, 471, 468, 425, 49, 271, 295, 410, 116, 15, 379, 112, 119, 109, 42, 17, 485, 469, 254,
+ 50, 206, 415, 20, 228, 339, 430, 435, 320, 127, 242, 208, 86, 484, 452, 420, 328, 210, 243, 200,
+ 19, 170, 312, 429, 376, 275, 247, 313, 278, 279, 285, 166, 417, 460, 448, 454, 257, 199, 267, 46,
+ 47, 421, 171, 32, 282, 79, 57, 226, 347, 168, 450, 252, 260, 201, 310, 380, 332, 361, 225, 414,
+ 413, 68, 280, 438, 45, 325, 0, 128, 27, 306, 39, 60, 377, 184, 44, 294, 351, 327, 476, 475,
+ 266, 362, 48, 354, 355, 365, 89, 297, 324, 326, 479, 381, 84, 378, 349, 98, 258, 259, 291, 412,
+ 366, 348, 423, 478, 477, 169, 360, 406, 273, 229, 113, 407, 100, 88, 363, 205, 289, 24, 255, 264,
+ 231, 182, 183, 101, 207, 115, 263, 334, 342, 186, 43, 480, 335, 338, 203, 30, 265, 244, 197, 23,
+ 290, 230, 358, 408, 341, 367, 368, 245, 262, 195, 246, 374, 404, 405, 422, 268, 375, 442, 359, 37,
+ 33, 3, 180, 487, 62, 155, 156, 157, 111, 2, 122, 16, 38, 316, 315, 144, 154, 481, 441, 103,
+ 28, 382, 145, 152, 139, 141, 143, 150, 99, 102, 298, 214, 130, 63, 147, 138, 140, 142, 428, 356,
+ 131, 292, 434, 159, 293, 307, 158, 10, 437, 151, 352, 162, 105, 403, 395, 402, 238, 241, 248, 153,
+ 108, 398, 399, 373, 149, 249, 211, 148, 400, 401, 396, 132, 212, 146, 65, 123, 397, 340, 240, 133,
+ 440, 124, 223, 384, 385, 371, 329, 250, 236, 34, 432, 107, 386, 237, 304, 234, 439, 333, 161, 222,
+ 64, 239, 92, 233, 160, 134, 217, 220, 350, 136, 135, 137, 125, 426, 218, 126, 372, 215, 216, 106,
+ 336, 29, 219, 61, 302, 193, 369, 191, 192, 181, 370, 178, 189, 36, 188, 51, 190, 174, 427, 176,
+ 173, 177, 172, 175, 81, 91, 129, 314, 185, 164, 346, 66, 235, 305, 14, 6, 114, 97, 96, 94,
+ 11, 95, 110, 451, 443, 121, 213, 7, 71, 82, 431, 343, 74, 75, 73, 59, 447, 445, 467, 163,
+ 472, 463, 453, 409, 69, 286, 466, 444, 383, 67, 117, 26, 40, 345, 465, 90, 25, 77, 482, 455,
+ 470, 344, 353, 80, 70, 449, 299, 331, 251, 330, 5, 253, 224, 390, 120, 76, 281, 4, 276, 56,
+ 118, 436, 72, 394, 232, 464, 486, 456, 473, 459, 357, 393, 21, 269, 209, 54, 204, 55, 83, 35,
+ 317, 196, 221, 321, 433, 387, 22, 78, 288, 419, 461, 446, 457, 474, 261, 272, 424, 308, 1, 274,
+ 322, 93, 319, 202, 277, 416, 104, 318, 309, 165, 87, 85, 388, 389, 364, 300, 391, 52, 31, 227,
+ 301, 167, 323, 458, 462, 411, 194, 8, 198, 179, 256, 392, 270, 418, 303, 337, 296, 13, 283, 284,
+ 311, 12, 9, 41, 287, 53, 187, 18, 58, 483, 471, 468, 425, 49, 271, 295, 410, 116, 15, 379,
+ 112, 119, 109, 42, 17, 485, 469, 254, 50, 206, 415, 20, 228, 339, 430, 435, 320, 127, 242, 208,
+ 86, 484, 452, 420, 328, 210, 243, 200, 19, 170, 312, 429, 376, 275, 247, 313, 278, 279, 285, 166,
+ 417, 460, 448, 454, 257, 199, 267, 46, 47, 421, 171, 32, 282, 79, 57, 226, 347, 168, 450, 252,
+ 260, 201, 310, 380, 332, 361, 225, 414, 413, 68, 280, 438, 45, 325, 0, 128, 27, 306, 39, 60,
+ 377, 184, 44, 294, 351, 327, 476, 475, 266, 362, 48, 354, 355, 365, 89, 297, 324, 326, 479, 381,
+ 84, 378, 349, 98, 258, 259, 291, 412, 366, 348, 423, 478, 477, 169, 360, 406, 273, 229, 113, 407,
+ 100, 88, 363, 205, 289, 24, 255, 264, 231, 182, 183, 101, 207, 115, 263, 334, 342, 186, 43, 480,
+ 335, 338, 203, 30, 265, 244, 197, 23, 290, 230, 358, 408, 341, 367, 368, 245, 262, 195, 246, 374,
+ 404, 405, 422, 268, 375, 442, 359, 37, 33, 3, 180, 487, 62, 155, 156, 157, 111, 2, 122, 16,
+ 38, 316, 315, 144, 154, 481, 441, 103, 28, 382, 145, 152, 139, 141, 143, 150, 99, 102, 298, 214,
+ 130, 63, 147, 138, 140, 142, 428, 356, 131, 292, 434, 159, 293, 307, 158, 10, 437, 151, 352, 162,
+ 105, 403, 395, 402, 238, 241, 248, 153, 108, 398, 399, 373, 149, 249, 211, 148, 400, 401, 396, 132,
+ 212, 146, 65, 123, 397, 340, 240, 133, 440, 124, 223, 384, 385, 371, 329, 250, 236, 34, 432, 107,
+ 386, 237, 304, 234, 439, 333, 161, 222, 64, 239, 92, 233, 160, 134, 217, 220, 350, 136, 135, 137,
+ 125, 426, 218, 126, 372, 215, 216, 106, 336, 29, 219, 61, 302, 193, 369, 191, 192, 181, 370, 178,
+ 189, 36, 188, 51, 190, 174, 427, 176, 173, 177, 172, 175, 81, 91, 129, 314, 185, 164, 346, 66,
+ 235, 305, 14, 6, 114, 97, 96, 94, 11, 95, 110, 451, 443, 121, 213, 7, 71, 82, 431, 343,
+ 74, 75, 73, 59, 447, 445, 467, 163, 472, 463, 453, 409, 69, 286, 466, 444, 383, 67, 117, 26,
+ 40, 345, 465, 90, 25, 77, 482, 455, 470, 344, 353, 80, 70, 449, 299, 331, 251, 330, 5, 253,
+ 224, 390, 120, 76, 281, 4, 276, 56, 118, 436, 72, 394, 232, 464, 486, 456, 473, 459, 357, 393,
+ 21, 269, 209, 54, 204, 55, 83, 35, 317, 196, 221, 321, 433, 387, 22, 78, 288, 419, 461, 446,
+ 457, 474, 261, 272, 424, 308, 1, 274, 322, 93, 319, 202, 277, 416, 104, 318, 309, 165, 87, 85,
+ 388, 389, 364, 300, 391, 52, 31, 227, 301, 167, 323, 458, 462, 411, 194, 8, 198, 179, 256, 392,
+ 270, 418, 303, 337, 296, 13, 283, 284, 311, 12, 9, 41, 287, 53, 187, 18, 58, 483, 471, 468,
+ 425, 49, 271, 295, 410, 116, 15, 379, 112, 119, 109, 42, 17, 485, 469, 254, 50, 206, 415, 20,
+ 228, 339, 430, 435, 320, 127, 242, 208, 86, 484, 452, 420, 328, 210, 243, 200, 19, 170, 312, 429,
+ 376, 275, 247, 313, 278, 279, 285, 166, 417, 460, 448, 454, 257, 199, 267, 46, 47, 421, 171, 32,
+ 282, 79, 57, 226, 347, 168, 450, 252, 260, 201, 310, 380, 332, 361, 225, 414, 413, 68, 280, 438,
+ 45, 325, 0, 128, 27, 306, 39, 60, 377, 184, 44, 294, 351, 327, 476, 475, 266, 362, 48, 354,
+ 355, 365, 89, 297, 324, 326, 479, 381, 84, 378, 349, 98, 258, 259, 291, 412, 366, 348, 423, 478,
+ 477, 169, 360, 406, 273, 229, 113, 407, 100, 88, 363, 205, 289, 24, 255, 264, 231, 182, 183, 101,
+ 207, 115, 263, 334, 342, 186, 43, 480, 335, 338, 203, 30, 265, 244, 197, 23, 290, 230, 358, 408,
+ 341, 367, 368, 245, 262, 195, 246, 374, 404, 405, 422, 268, 375, 442, 359, 37, 33, 3, 180, 487,
+ 62, 155, 156, 157, 111, 2, 122, 16, 38, 316, 315, 144, 154, 481, 441, 103, 28, 382, 145, 152,
+ 139, 141, 143, 150, 99, 102, 298, 214, 130, 63, 147, 138, 140, 142, 428, 356, 131, 292, 434, 159,
+ 293, 307, 158, 10, 437, 151, 352, 162, 105, 403, 395, 402, 238, 241, 248, 153, 108, 398, 399, 373,
+ 149, 249, 211, 148, 400, 401, 396, 132, 212, 146, 65, 123, 397, 340, 240, 133, 440, 124, 223, 384,
+ 385, 371, 329, 250, 236, 34, 432, 107, 386, 237, 304, 234, 439, 333, 161, 222, 64, 239, 92, 233,
+ 160, 134, 217, 220, 350, 136, 135, 137, 125, 426, 218, 126, 372, 215, 216, 106, 336, 29, 219, 61,
+ 302, 193, 369, 191, 192, 181, 370, 178, 189, 36, 188, 51, 190, 174, 427, 176, 173, 177, 172, 175,
+ 81, 91, 129, 314, 185, 164, 346, 66, 235, 305, 14, 6, 114, 97, 96, 94, 11, 95, 110, 451,
+ 443, 121, 213, 7, 71, 82, 431, 343, 74, 75, 73, 59, 447, 445, 467, 163, 472, 463, 453, 409,
+ 69, 286, 466, 444, 383, 67, 117, 26, 40, 345, 465, 90, 25, 77, 482, 455, 470, 344, 353, 80,
+ 70, 449, 299, 331, 251, 330, 5, 253, 224, 390, 120, 76, 281, 4, 276, 56, 118, 436, 72, 394,
+ 232, 464, 486, 456, 473, 459, 357, 393, 21, 269, 209, 54, 204, 55, 83, 35, 317, 196, 221, 321,
+ 433, 387, 22, 78, 288, 419, 461, 446, 457, 474, 261, 272, 424, 308, 1, 274, 322, 93, 319, 202,
+ 277, 416, 104, 318, 309, 165, 87, 85, 388, 389, 364, 300, 391, 52, 31, 227, 301, 167, 323, 458,
+ 462, 411, 194, 8, 198, 179, 256, 392, 270, 418, 303, 337, 296, 13, 283, 284, 311, 12, 9, 41,
+ 287, 53, 187, 18, 58, 483, 471, 468, 425, 49, 271, 295, 410, 116, 15, 379, 112, 119, 109, 42,
+ 17, 485, 469, 254, 50, 206, 415, 20, 228, 339, 430, 435, 320, 127, 242, 208, 86, 484, 452, 420,
+ 328, 210, 243, 200, 19, 170, 312, 429, 376, 275, 247, 313, 278, 279, 285, 166, 417, 460, 448, 454,
+ 257, 199, 267, 46, 47, 421, 171, 32, 282, 79, 57, 226, 347, 168, 450, 252, 260, 201, 310, 380,
+ 332, 361, 225, 414, 413, 68, 280, 438, 45, 325, 0, 128, 27, 306, 39, 60, 377, 184, 44, 294,
+ 351, 327, 476, 475, 266, 362, 48, 354, 355, 365, 89, 297, 324, 326, 479, 381, 84, 378, 349, 98,
+ 258, 259, 291, 412, 366, 348, 423, 478, 477, 169, 360, 406, 273, 229, 113, 407, 100, 88, 363, 205,
+ 289, 24, 255, 264, 231, 182, 183, 101, 207, 115, 263, 334, 342, 186, 43, 480, 335, 338, 203, 30,
+ 265, 244, 197, 23, 290, 230, 358, 408, 341, 367, 368, 245, 262, 195, 246, 374, 404, 405, 422, 268,
+ 375, 442, 359, 37, 33, 3, 180, 487, 62, 155, 156, 157, 111, 2, 122, 16, 38, 316, 315, 144,
+ 154, 481, 441, 103, 28, 382, 145, 152, 139, 141, 143, 150, 99, 102, 298, 214, 130, 63, 147, 138,
+ 140, 142, 428, 356, 131, 292, 434, 159, 293, 307, 158, 10, 437, 151, 352, 162, 105, 403, 395, 402,
+ 238, 241, 248, 153, 108, 398, 399, 373, 149, 249, 211, 148, 400, 401, 396, 132, 212, 146, 65, 123,
+ 397, 340, 240, 133, 440, 124, 223, 384, 385, 371, 329, 250, 236, 34, 432, 107, 386, 237, 304, 234,
+ 439, 333, 161, 222, 64, 239, 92, 233, 160, 134, 217, 220, 350, 136, 135, 137, 125, 426, 218, 126,
+ 372, 215, 216, 106, 336, 29, 219, 61, 302, 193, 369, 191, 192, 181, 370, 178, 189, 36, 188, 51,
+ 190, 174, 427, 176, 173, 177, 172, 175,
+};
+
const struct dictionary dict_builtin_static =
{
{{0xf93578f8,0x5852,0x4eb7,{0xa6,0xfc,0xe7,0x2b,0xb7,0x1d,0xb6,0x22}},
- (WS_XML_STRING *)dict_strings,
- sizeof(dict_strings) / sizeof(dict_strings[0]),
- TRUE}
+ (WS_XML_STRING *)dict_strings, sizeof(dict_strings)/sizeof(dict_strings[0]), TRUE},
+ (ULONG *)dict_sorted
};
/**************************************************************************
diff --git a/dlls/webservices/webservices_private.h b/dlls/webservices/webservices_private.h
index cf6e1c4..4894223 100644
--- a/dlls/webservices/webservices_private.h
+++ b/dlls/webservices/webservices_private.h
@@ -38,8 +38,8 @@ void free_xmlbuf( struct xmlbuf * ) DECLSPEC_HIDDEN;
struct dictionary
{
WS_XML_DICTIONARY dict;
- ULONG size;
ULONG *sorted;
+ ULONG size;
};
struct dictionary dict_builtin DECLSPEC_HIDDEN;
const struct dictionary dict_builtin_static DECLSPEC_HIDDEN;
--
2.1.4
More information about the wine-patches
mailing list