Skip to content

Commit e429ee6

Browse files
authored
protoprint: fix bug in escaping double-quote characters (#580)
1 parent 3839451 commit e429ee6

33 files changed

+747
-745
lines changed

desc/protoparse/test-source-info.txt

+14-14
Original file line numberDiff line numberDiff line change
@@ -1542,7 +1542,7 @@ desc_test_complex.proto:31:30
15421542

15431543
> message_type[1] > extension_range:
15441544
desc_test_complex.proto:33:9
1545-
desc_test_complex.proto:33:81
1545+
desc_test_complex.proto:33:91
15461546

15471547

15481548
> message_type[1] > extension_range[1]:
@@ -1607,42 +1607,42 @@ desc_test_complex.proto:33:61
16071607

16081608
> message_type[1] > extension_range[1] > options:
16091609
desc_test_complex.proto:33:62
1610-
desc_test_complex.proto:33:80
1610+
desc_test_complex.proto:33:90
16111611

16121612

16131613
> message_type[1] > extension_range[1] > options > (foo.bar.label):
16141614
desc_test_complex.proto:33:63
1615-
desc_test_complex.proto:33:79
1615+
desc_test_complex.proto:33:89
16161616

16171617

16181618
> message_type[1] > extension_range[2] > options:
16191619
desc_test_complex.proto:33:62
1620-
desc_test_complex.proto:33:80
1620+
desc_test_complex.proto:33:90
16211621

16221622

16231623
> message_type[1] > extension_range[2] > options > (foo.bar.label):
16241624
desc_test_complex.proto:33:63
1625-
desc_test_complex.proto:33:79
1625+
desc_test_complex.proto:33:89
16261626

16271627

16281628
> message_type[1] > extension_range[3] > options:
16291629
desc_test_complex.proto:33:62
1630-
desc_test_complex.proto:33:80
1630+
desc_test_complex.proto:33:90
16311631

16321632

16331633
> message_type[1] > extension_range[3] > options > (foo.bar.label):
16341634
desc_test_complex.proto:33:63
1635-
desc_test_complex.proto:33:79
1635+
desc_test_complex.proto:33:89
16361636

16371637

16381638
> message_type[1] > extension_range[4] > options:
16391639
desc_test_complex.proto:33:62
1640-
desc_test_complex.proto:33:80
1640+
desc_test_complex.proto:33:90
16411641

16421642

16431643
> message_type[1] > extension_range[4] > options > (foo.bar.label):
16441644
desc_test_complex.proto:33:63
1645-
desc_test_complex.proto:33:79
1645+
desc_test_complex.proto:33:89
16461646

16471647

16481648
> message_type[1] > nested_type[1]:
@@ -5426,17 +5426,17 @@ desc_test_complex.proto:275:99
54265426

54275427
> message_type[9] > field[0] > options > (foo.bar.string):
54285428
desc_test_complex.proto:276:17
5429-
desc_test_complex.proto:276:36
5429+
desc_test_complex.proto:276:78
54305430

54315431

54325432
> message_type[9] > field[0] > options > (foo.bar.bytes):
5433-
desc_test_complex.proto:276:38
5434-
desc_test_complex.proto:276:55
5433+
desc_test_complex.proto:276:80
5434+
desc_test_complex.proto:276:139
54355435

54365436

54375437
> message_type[9] > field[0] > options > (foo.bar.bool):
5438-
desc_test_complex.proto:276:57
5439-
desc_test_complex.proto:276:70
5438+
desc_test_complex.proto:276:141
5439+
desc_test_complex.proto:276:154
54405440

54415441

54425442
> message_type[9] > field[0] > options > (foo.bar.float):

desc/protoprint/print.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -2015,7 +2015,7 @@ func quotedBytes(s string) string {
20152015
case '\t':
20162016
b.WriteString("\\t")
20172017
case '"':
2018-
b.WriteString("\\")
2018+
b.WriteString("\\\"")
20192019
case '\\':
20202020
b.WriteString("\\\\")
20212021
default:
@@ -2061,7 +2061,7 @@ func quotedString(s string) string {
20612061
case '\t':
20622062
b.WriteString("\\t")
20632063
case '"':
2064-
b.WriteString("\\")
2064+
b.WriteString("\\\"")
20652065
case '\\':
20662066
b.WriteString("\\\\")
20672067
default:

desc/protoprint/testfiles/desc_test_complex-compact.proto

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ message Test {
1919
map<string, int32> m = 5;
2020
optional bytes b = 6 [default = "\000\001\002\003\004\005\006\007fubar!"];
2121
extensions 100 to 200;
22-
extensions 249, 300 to 350, 500 to 550, 20000 to max [(label) = "jazz"];
22+
extensions 249, 300 to 350, 500 to 550, 20000 to max [(label) = "jazz \"hands\""];
2323
message Nested {
2424
extend google.protobuf.MessageOptions {
2525
optional int32 fooblez = 20003;
@@ -248,8 +248,8 @@ message KeywordCollisionOptions {
248248
(public) = true,
249249
(weak) = true,
250250
(package) = true,
251-
(string) = "string",
252-
(bytes) = "bytes",
251+
(string) = "string蝥\U00107F6D\007\010\014\n\r\t\013\\\"'?B",
252+
(bytes) = "bytes\350\235\245\364\207\275\255\007\010\014\n\r\t\013\\\"'?B",
253253
(bool) = true,
254254
(float) = 3.140000,
255255
(double) = 3.141590,

desc/protoprint/testfiles/desc_test_complex-custom-sort.proto

+3-3
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ message Validator {
145145
}
146146

147147
message Test {
148-
extensions 20000 to max, 500 to 550, 300 to 350, 249 [(label) = "jazz"];
148+
extensions 20000 to max, 500 to 550, 300 to 350, 249 [(label) = "jazz \"hands\""];
149149

150150
extensions 100 to 200;
151151

@@ -385,7 +385,7 @@ message KeywordCollisionOptions {
385385
(true) = 111,
386386
(to) = true,
387387
(syntax) = true,
388-
(string) = "string",
388+
(string) = "string蝥\U00107F6D\007\010\014\n\r\t\013\\\"'?B",
389389
(sint64) = -64,
390390
(sint32) = -32,
391391
(sfixed64) = -6464,
@@ -412,7 +412,7 @@ message KeywordCollisionOptions {
412412
(enum) = true,
413413
(double) = 3.141590,
414414
(default) = 222,
415-
(bytes) = "bytes",
415+
(bytes) = "bytes\350\235\245\364\207\275\255\007\010\014\n\r\t\013\\\"'?B",
416416
(bool) = true
417417
];
418418
}

desc/protoprint/testfiles/desc_test_complex-default.proto

+3-3
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ message Test {
3535

3636
extensions 100 to 200;
3737

38-
extensions 249, 300 to 350, 500 to 550, 20000 to max [(label) = "jazz"];
38+
extensions 249, 300 to 350, 500 to 550, 20000 to max [(label) = "jazz \"hands\""];
3939

4040
message Nested {
4141
extend google.protobuf.MessageOptions {
@@ -406,8 +406,8 @@ message KeywordCollisionOptions {
406406
(public) = true,
407407
(weak) = true,
408408
(package) = true,
409-
(string) = "string",
410-
(bytes) = "bytes",
409+
(string) = "string蝥\U00107F6D\007\010\014\n\r\t\013\\\"'?B",
410+
(bytes) = "bytes\350\235\245\364\207\275\255\007\010\014\n\r\t\013\\\"'?B",
411411
(bool) = true,
412412
(float) = 3.140000,
413413
(double) = 3.141590,

desc/protoprint/testfiles/desc_test_complex-multiline-style-comments.proto

+3-3
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ message Test {
3535

3636
extensions 100 to 200;
3737

38-
extensions 249, 300 to 350, 500 to 550, 20000 to max [(label) = "jazz"];
38+
extensions 249, 300 to 350, 500 to 550, 20000 to max [(label) = "jazz \"hands\""];
3939

4040
message Nested {
4141
extend google.protobuf.MessageOptions {
@@ -406,8 +406,8 @@ message KeywordCollisionOptions {
406406
(public) = true,
407407
(weak) = true,
408408
(package) = true,
409-
(string) = "string",
410-
(bytes) = "bytes",
409+
(string) = "string蝥\U00107F6D\007\010\014\n\r\t\013\\\"'?B",
410+
(bytes) = "bytes\350\235\245\364\207\275\255\007\010\014\n\r\t\013\\\"'?B",
411411
(bool) = true,
412412
(float) = 3.140000,
413413
(double) = 3.141590,

desc/protoprint/testfiles/desc_test_complex-no-trailing-comments.proto

+3-3
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ message Test {
3535

3636
extensions 100 to 200;
3737

38-
extensions 249, 300 to 350, 500 to 550, 20000 to max [(label) = "jazz"];
38+
extensions 249, 300 to 350, 500 to 550, 20000 to max [(label) = "jazz \"hands\""];
3939

4040
message Nested {
4141
extend google.protobuf.MessageOptions {
@@ -406,8 +406,8 @@ message KeywordCollisionOptions {
406406
(public) = true,
407407
(weak) = true,
408408
(package) = true,
409-
(string) = "string",
410-
(bytes) = "bytes",
409+
(string) = "string蝥\U00107F6D\007\010\014\n\r\t\013\\\"'?B",
410+
(bytes) = "bytes\350\235\245\364\207\275\255\007\010\014\n\r\t\013\\\"'?B",
411411
(bool) = true,
412412
(float) = 3.140000,
413413
(double) = 3.141590,

desc/protoprint/testfiles/desc_test_complex-only-doc-comments.proto

+3-3
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ message Test {
3535

3636
extensions 100 to 200;
3737

38-
extensions 249, 300 to 350, 500 to 550, 20000 to max [(label) = "jazz"];
38+
extensions 249, 300 to 350, 500 to 550, 20000 to max [(label) = "jazz \"hands\""];
3939

4040
message Nested {
4141
extend google.protobuf.MessageOptions {
@@ -404,8 +404,8 @@ message KeywordCollisionOptions {
404404
(public) = true,
405405
(weak) = true,
406406
(package) = true,
407-
(string) = "string",
408-
(bytes) = "bytes",
407+
(string) = "string蝥\U00107F6D\007\010\014\n\r\t\013\\\"'?B",
408+
(bytes) = "bytes\350\235\245\364\207\275\255\007\010\014\n\r\t\013\\\"'?B",
409409
(bool) = true,
410410
(float) = 3.140000,
411411
(double) = 3.141590,

desc/protoprint/testfiles/desc_test_complex-sorted-AND-multiline-style-comments.proto

+3-3
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ message IsAuthorizedReq {
6666
message KeywordCollisionOptions {
6767
optional uint64 id = 1 [
6868
(bool) = true,
69-
(bytes) = "bytes",
69+
(bytes) = "bytes\350\235\245\364\207\275\255\007\010\014\n\r\t\013\\\"'?B",
7070
(default) = 222,
7171
(double) = 3.141590,
7272
(enum) = true,
@@ -93,7 +93,7 @@ message KeywordCollisionOptions {
9393
(sfixed64) = -6464,
9494
(sint32) = -32,
9595
(sint64) = -64,
96-
(string) = "string",
96+
(string) = "string蝥\U00107F6D\007\010\014\n\r\t\013\\\"'?B",
9797
(syntax) = true,
9898
(to) = true,
9999
(true) = 111,
@@ -332,7 +332,7 @@ message Test {
332332

333333
extensions 100 to 200;
334334

335-
extensions 249, 300 to 350, 500 to 550, 20000 to max [(label) = "jazz"];
335+
extensions 249, 300 to 350, 500 to 550, 20000 to max [(label) = "jazz \"hands\""];
336336
}
337337

338338
message Validator {

desc/protoprint/testfiles/desc_test_complex-sorted.proto

+3-3
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ message IsAuthorizedReq {
6666
message KeywordCollisionOptions {
6767
optional uint64 id = 1 [
6868
(bool) = true,
69-
(bytes) = "bytes",
69+
(bytes) = "bytes\350\235\245\364\207\275\255\007\010\014\n\r\t\013\\\"'?B",
7070
(default) = 222,
7171
(double) = 3.141590,
7272
(enum) = true,
@@ -93,7 +93,7 @@ message KeywordCollisionOptions {
9393
(sfixed64) = -6464,
9494
(sint32) = -32,
9595
(sint64) = -64,
96-
(string) = "string",
96+
(string) = "string蝥\U00107F6D\007\010\014\n\r\t\013\\\"'?B",
9797
(syntax) = true,
9898
(to) = true,
9999
(true) = 111,
@@ -330,7 +330,7 @@ message Test {
330330

331331
extensions 100 to 200;
332332

333-
extensions 249, 300 to 350, 500 to 550, 20000 to max [(label) = "jazz"];
333+
extensions 249, 300 to 350, 500 to 550, 20000 to max [(label) = "jazz \"hands\""];
334334
}
335335

336336
message Validator {

desc/protoprint/testfiles/desc_test_complex-trailing-on-next-line.proto

+3-3
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ message Test {
3737

3838
extensions 100 to 200;
3939

40-
extensions 249, 300 to 350, 500 to 550, 20000 to max [(label) = "jazz"];
40+
extensions 249, 300 to 350, 500 to 550, 20000 to max [(label) = "jazz \"hands\""];
4141

4242
message Nested {
4343
extend google.protobuf.MessageOptions {
@@ -409,8 +409,8 @@ message KeywordCollisionOptions {
409409
(public) = true,
410410
(weak) = true,
411411
(package) = true,
412-
(string) = "string",
413-
(bytes) = "bytes",
412+
(string) = "string蝥\U00107F6D\007\010\014\n\r\t\013\\\"'?B",
413+
(bytes) = "bytes\350\235\245\364\207\275\255\007\010\014\n\r\t\013\\\"'?B",
414414
(bool) = true,
415415
(float) = 3.140000,
416416
(double) = 3.141590,

internal/testprotos/desc_test1.pb.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/testprotos/desc_test2.pb.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)