Skip to content

Commit 39f2b73

Browse files
committed
fix: Worked on resolving all warnings on Mac & Linux to hopefully fix the Windows PLC4C build (Not finished yet)
1 parent 34a9db2 commit 39f2b73

19 files changed

Lines changed: 44 additions & 30 deletions

File tree

code-generation/language/c/src/main/java/org/apache/plc4x/language/c/CLanguageTemplateHelper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -573,7 +573,7 @@ public String getWriteBufferWriteMethodCall(SimpleTypeReference simpleTypeRefere
573573
String encoding = ((StringLiteral) encodingTerm).getValue();
574574
String length = Integer.toString(simpleTypeReference.getSizeInBits());
575575
return "plc4c_spi_write_string(writeBuffer, " + length + ", \"" +
576-
encoding + "\", (char*) " + fieldName + ")";
576+
encoding + "\", (const uint8_t*) " + fieldName + ")";
577577
}
578578
case VSTRING: {
579579
final Term encodingTerm = field.getEncoding().orElse(new DefaultStringLiteral("UTF-8"));
@@ -584,7 +584,7 @@ public String getWriteBufferWriteMethodCall(SimpleTypeReference simpleTypeRefere
584584
// Here we need to use the serialized expression of the length instead.
585585
String lengthExpression = toSerializationExpression(thisType, field, simpleTypeReference.asVstringTypeReference().orElseThrow().getLengthExpression(), null);
586586
return "plc4c_spi_write_string(writeBuffer, " + lengthExpression + ", \"" +
587-
encoding + "\", " + fieldName + ")";
587+
encoding + "\", (const uint8_t*) " + fieldName + ")";
588588
}
589589
default:
590590
throw new FreemarkerException("Unsupported type " + simpleTypeReference.getBaseType().name());

code-generation/language/c/src/main/resources/templates/c/complex-type-template.c.ftlh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@ plc4c_return_code ${helper.getCTypeName(type.name)}_parse(plc4x_spi_context ctx,
324324
_res = ${helper.getReadBufferReadMethodCall(simpleTypeReference, optionalField.name, optionalField)};
325325
<#else>
326326
<#assign nonSimpleTypeReference = optionalField.type.asNonSimpleTypeReference().orElseThrow()>
327-
_res = ${helper.getCTypeName(nonSimpleTypeReference.name)}_parse(ctx, readBuffer<#if optionalField.type.isNonSimpleTypeReference() && optionalField.type.asNonSimpleTypeReference().get().getParams().isPresent()>, <#list optionalField.type.asNonSimpleTypeReference().get().getParams().get() as parserTerm>${helper.toParseExpression(baseType, optionalField, parserTerm, parserArguments)}<#sep>, </#sep></#list></#if>, &${optionalField.name});
327+
_res = ${helper.getCTypeName(nonSimpleTypeReference.name)}_parse(ctx, readBuffer<#if optionalField.type.isNonSimpleTypeReference() && optionalField.type.asNonSimpleTypeReference().get().getParams().isPresent()>, <#list optionalField.type.asNonSimpleTypeReference().get().getParams().get() as parserTerm>${helper.toParseExpression(baseType, optionalField, parserTerm, parserArguments)}<#sep>, </#sep></#list></#if>, <#if !optionalField.type.isEnumTypeReference()>&</#if>${optionalField.name});
328328
</#if>
329329
if(_res != OK) {
330330
return _res;
@@ -560,7 +560,7 @@ plc4c_return_code ${helper.getCTypeName(type.name)}_serialize(plc4x_spi_context
560560
<#if optionalField.type.isSimpleTypeReference()>
561561
_res = ${helper.getWriteBufferWriteMethodCall(optionalField.type.asSimpleTypeReference().orElseThrow(), "*_message->" + helper.getFieldName(baseType, optionalField), optionalField)};
562562
<#else>
563-
_res = ${helper.getCTypeName(optionalField.type.asNonSimpleTypeReference().orElseThrow().name)}_serialize(ctx, writeBuffer<#if optionalField.type.isDataIoTypeReference() && optionalField.type.asNonSimpleTypeReference().get().getParams().isPresent()>, <#list optionalField.type.asNonSimpleTypeReference().get().getParams().get() as parserTerm>${helper.toSerializationExpression(baseType, optionalField, parserTerm, parserArguments)}<#sep>, </#sep></#list></#if>, <#if optionalField.type.isEnumTypeReference() || optionalField.type.isDataIoTypeReference()>&</#if>_message-><@fieldName baseType=baseType field=optionalField/>);
563+
_res = ${helper.getCTypeName(optionalField.type.asNonSimpleTypeReference().orElseThrow().name)}_serialize(ctx, writeBuffer<#if optionalField.type.isDataIoTypeReference() && optionalField.type.asNonSimpleTypeReference().get().getParams().isPresent()>, <#list optionalField.type.asNonSimpleTypeReference().get().getParams().get() as parserTerm>${helper.toSerializationExpression(baseType, optionalField, parserTerm, parserArguments)}<#sep>, </#sep></#list></#if>, <#if optionalField.type.isDataIoTypeReference()>&</#if>_message-><@fieldName baseType=baseType field=optionalField/>);
564564
</#if>
565565
if(_res != OK) {
566566
return _res;

code-generation/language/c/src/main/resources/templates/c/enum-template.c.ftlh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ ${helper.getCTypeName(type.name)} ${helper.getCTypeName(type.name)}_get_first_en
162162
return ${helper.getCTypeName(type.name)}_${enumValue.name};
163163
}
164164
</#list>
165+
return (${helper.getCTypeName(type.name)}) 0;
165166
<#elseif constantType.isBooleanTypeReference()>
166167
if (!value) {
167168
<#assign enumValue=uniqueEnumValues[0]>

plc4c/drivers/modbus/include/plc4c/driver_modbus_packets.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ plc4c_return_code plc4c_driver_modbus_create_modbus_read_request(
3939
plc4c_item* read_request_item,
4040
plc4c_modbus_read_write_modbus_adu** modbus_read_request_packet);
4141
plc4c_return_code plc4c_driver_modbus_create_modbus_write_request(
42-
plc4c_driver_modbus_item* write_request_item,
42+
plc4c_write_request* write_request,
4343
plc4c_modbus_read_write_modbus_adu** modbus_read_request_packet);
4444

4545
#ifdef __cplusplus

plc4c/drivers/s7/src/driver_s7_packets.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,9 @@ void plc4c_driver_s7_destroy_receive_packet(
331331
// TODO: something
332332
//just num of items so nothing to do
333333
break;
334+
default:
335+
// No specific cleanup required for other parameter types at this time
336+
break;
334337
}
335338
free(s7_param);
336339
}
@@ -977,5 +980,8 @@ void plc4c_driver_s7_time_transport_size(plc4c_s7_read_write_transport_size *tra
977980
case plc4c_s7_read_write_transport_size_TIME_OF_DAY:
978981
*transport_size = plc4c_s7_read_write_transport_size_UDINT;
979982
break;
983+
default:
984+
// For all other transport sizes, no adjustment is required
985+
break;
980986
}
981987
}

plc4c/generated-sources/modbus/src/data_item.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -828,7 +828,7 @@ plc4c_return_code plc4c_modbus_read_write_data_item_serialize(plc4x_spi_context
828828
} else if((dataType == plc4c_modbus_read_write_modbus_data_type_CHAR) && (numberOfValues == 1)) { /* CHAR */
829829

830830
// Simple field (value)
831-
_res = plc4c_spi_write_string(writeBuffer, 8, "UTF-8", (char*) (*data_item)->data.char_value);
831+
_res = plc4c_spi_write_string(writeBuffer, 8, "UTF-8", (const uint8_t*) (*data_item)->data.char_value);
832832
if(_res != OK) {
833833
return _res;
834834
}
@@ -838,7 +838,7 @@ plc4c_return_code plc4c_modbus_read_write_data_item_serialize(plc4x_spi_context
838838
} else if((dataType == plc4c_modbus_read_write_modbus_data_type_WCHAR) && (numberOfValues == 1)) { /* WCHAR */
839839

840840
// Simple field (value)
841-
_res = plc4c_spi_write_string(writeBuffer, 16, "UTF-16", (char*) (*data_item)->data.wchar_value);
841+
_res = plc4c_spi_write_string(writeBuffer, 16, "UTF-16", (const uint8_t*) (*data_item)->data.wchar_value);
842842
if(_res != OK) {
843843
return _res;
844844
}

plc4c/generated-sources/plc4x/src/plc4x_message.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ plc4c_return_code plc4c_plc4x_read_write_plc4x_message_serialize(plc4x_spi_conte
365365
}
366366

367367
// Simple Field (connectionString)
368-
_res = plc4c_spi_write_string(writeBuffer, (plc4c_spi_evaluation_helper_str_len(_message->plc4x_connect_request_connection_string)) * (8), "UTF-8", _message->plc4x_connect_request_connection_string);
368+
_res = plc4c_spi_write_string(writeBuffer, (plc4c_spi_evaluation_helper_str_len(_message->plc4x_connect_request_connection_string)) * (8), "UTF-8", (const uint8_t*) _message->plc4x_connect_request_connection_string);
369369
if(_res != OK) {
370370
return _res;
371371
}

plc4c/generated-sources/plc4x/src/plc4x_tag.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ plc4c_return_code plc4c_plc4x_read_write_plc4x_tag_serialize(plc4x_spi_context c
8181
}
8282

8383
// Simple Field (name)
84-
_res = plc4c_spi_write_string(writeBuffer, (plc4c_spi_evaluation_helper_str_len(_message->name)) * (8), "UTF-8", _message->name);
84+
_res = plc4c_spi_write_string(writeBuffer, (plc4c_spi_evaluation_helper_str_len(_message->name)) * (8), "UTF-8", (const uint8_t*) _message->name);
8585
if(_res != OK) {
8686
return _res;
8787
}
@@ -93,7 +93,7 @@ plc4c_return_code plc4c_plc4x_read_write_plc4x_tag_serialize(plc4x_spi_context c
9393
}
9494

9595
// Simple Field (tagQuery)
96-
_res = plc4c_spi_write_string(writeBuffer, (plc4c_spi_evaluation_helper_str_len(_message->tag_query)) * (8), "UTF-8", _message->tag_query);
96+
_res = plc4c_spi_write_string(writeBuffer, (plc4c_spi_evaluation_helper_str_len(_message->tag_query)) * (8), "UTF-8", (const uint8_t*) _message->tag_query);
9797
if(_res != OK) {
9898
return _res;
9999
}

plc4c/generated-sources/plc4x/src/plc4x_value.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -440,14 +440,14 @@ plc4c_return_code plc4c_plc4x_read_write_plc4x_value_serialize(plc4x_spi_context
440440
} else if(valueType == plc4c_plc4x_read_write_plc4x_value_type_CHAR) { /* STRING */
441441

442442
// Simple field (value)
443-
_res = plc4c_spi_write_string(writeBuffer, 8, "UTF-8", (char*) (*data_item)->data.string_value);
443+
_res = plc4c_spi_write_string(writeBuffer, 8, "UTF-8", (const uint8_t*) (*data_item)->data.string_value);
444444
if(_res != OK) {
445445
return _res;
446446
}
447447
} else if(valueType == plc4c_plc4x_read_write_plc4x_value_type_WCHAR) { /* STRING */
448448

449449
// Simple field (value)
450-
_res = plc4c_spi_write_string(writeBuffer, 16, "UTF-16", (char*) (*data_item)->data.string_value);
450+
_res = plc4c_spi_write_string(writeBuffer, 16, "UTF-16", (const uint8_t*) (*data_item)->data.string_value);
451451
if(_res != OK) {
452452
return _res;
453453
}

plc4c/generated-sources/s7/src/data_item.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -593,14 +593,14 @@ plc4c_return_code plc4c_s7_read_write_data_item_serialize(plc4x_spi_context ctx,
593593
} else if(strcmp(dataProtocolId, "IEC61131_CHAR") == 0) { /* CHAR */
594594

595595
// Simple field (value)
596-
_res = plc4c_spi_write_string(writeBuffer, 8, "UTF-8", (char*) (*data_item)->data.char_value);
596+
_res = plc4c_spi_write_string(writeBuffer, 8, "UTF-8", (const uint8_t*) (*data_item)->data.char_value);
597597
if(_res != OK) {
598598
return _res;
599599
}
600600
} else if(strcmp(dataProtocolId, "IEC61131_WCHAR") == 0) { /* CHAR */
601601

602602
// Simple field (value)
603-
_res = plc4c_spi_write_string(writeBuffer, 16, "UTF-16", (char*) (*data_item)->data.char_value);
603+
_res = plc4c_spi_write_string(writeBuffer, 16, "UTF-16", (const uint8_t*) (*data_item)->data.char_value);
604604
if(_res != OK) {
605605
return _res;
606606
}

0 commit comments

Comments
 (0)