diff options
| -rw-r--r-- | nimpb/compiler/generator.nim | 9 | ||||
| -rw-r--r-- | nimpb/compiler/nimpb_build.nim | 2 | ||||
| -rw-r--r-- | nimpb/json.nim | 2 |
3 files changed, 8 insertions, 5 deletions
diff --git a/nimpb/compiler/generator.nim b/nimpb/compiler/generator.nim index 8dff420..e765e00 100644 --- a/nimpb/compiler/generator.nim +++ b/nimpb/compiler/generator.nim @@ -265,7 +265,7 @@ proc findEnum(file: ProtoFile, typeName: string): Enum = break proc defaultValue(field: Field): string = - if field.defaultValue != nil: + if field.defaultValue != "": if isEnum(field): return &"{field.typeName}.{field.defaultValue}" elif field.ftype == google_protobuf_FieldDescriptorProtoType.TypeString: @@ -1065,7 +1065,10 @@ iterator genMessageFromJsonProc(msg: Message): string = elif field.ftype == google_protobuf_FieldDescriptorProto_Type.TypeBool: result = &"parseBool({n})" elif isNumeric(field): - result = &"parseInt[{field.nimTypeName}]({n})" + if isUnsigned(field): + result = &"parseUInt[{field.nimTypeName}]({n})" + else: + result = &"parseInt[{field.nimTypeName}]({n})" elif field.ftype == google_protobuf_FieldDescriptorProto_Type.TypeString: result = &"parseString({n})" elif field.ftype == google_protobuf_FieldDescriptorProto_Type.TypeBytes: @@ -1200,7 +1203,7 @@ proc hasGenService(serviceGenerator: ServiceGenerator): bool = serviceGenerator != nil and serviceGenerator.genService != nil proc ownFile(serviceGenerator: ServiceGenerator): bool = - serviceGenerator != nil and serviceGenerator.fileSuffix != nil + serviceGenerator != nil and serviceGenerator.fileSuffix != "" proc processFile(fdesc: google_protobuf_FileDescriptorProto, otherFiles: TableRef[string, ProtoFile], diff --git a/nimpb/compiler/nimpb_build.nim b/nimpb/compiler/nimpb_build.nim index 55d5e70..96b2313 100644 --- a/nimpb/compiler/nimpb_build.nim +++ b/nimpb/compiler/nimpb_build.nim @@ -33,7 +33,7 @@ for kind, key, val in getopt(): usage() of cmdEnd: assert(false) -if outdir == nil: +if outdir == "": echo("error: --out is required") quit(QuitFailure) diff --git a/nimpb/json.nim b/nimpb/json.nim index 8d34fc3..875c567 100644 --- a/nimpb/json.nim +++ b/nimpb/json.nim @@ -97,7 +97,7 @@ proc parseInt*[T: int32|int64](node: JsonNode): T = proc high(t: typedesc[uint64]): uint64 = 18446744073709551615'u64 -proc parseInt*[T: uint32|uint64](node: JsonNode): T = +proc parseUInt*[T: uint32|uint64](node: JsonNode): T = var big: BiggestUInt if node.kind == JString: |
