[beast/devel: 3/15] SFIDL: generate casts around malloc/realloc



commit 6f90369801127f58f2cbd6c6d115a3fcb9b589a0
Author: Tim Janik <timj gnu org>
Date:   Sun Dec 16 01:49:39 2012 +0100

    SFIDL: generate casts around malloc/realloc

 sfi/sfidl-cbase.cc |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)
---
diff --git a/sfi/sfidl-cbase.cc b/sfi/sfidl-cbase.cc
index ea86bbd..a471fce 100644
--- a/sfi/sfidl-cbase.cc
+++ b/sfi/sfidl-cbase.cc
@@ -908,9 +908,8 @@ void CodeGeneratorCBase::printClientSequenceMethodImpl()
       printf("{\n");
       printf("  g_return_if_fail (seq != NULL);\n");
       printf("\n");
-      printf("  seq->%s = g_realloc (seq->%s, "
-	  "(seq->n_%s + 1) * sizeof (seq->%s[0]));\n",
-	  elements.c_str(), elements.c_str(), elements.c_str(), elements.c_str());
+      printf("  seq->%s = (typeof (seq->%s)) g_realloc (seq->%s, (seq->n_%s + 1) * sizeof (seq->%s[0]));\n",
+             elements.c_str(), elements.c_str(), elements.c_str(), elements.c_str(), elements.c_str());
       printf("  seq->%s[seq->n_%s++] = %s (element);\n", elements.c_str(), elements.c_str(),
 	  elementCopy.c_str());
       printf("}\n\n");
@@ -941,8 +940,8 @@ void CodeGeneratorCBase::printClientSequenceMethodImpl()
       printf("  length = sfi_seq_length (sfi_seq);\n");
       printf("  seq = g_new0 (%s, 1);\n",mname.c_str());
       printf("  seq->n_%s = length;\n", elements.c_str());
-      printf("  seq->%s = g_malloc (seq->n_%s * sizeof (seq->%s[0]));\n\n",
-	  elements.c_str(), elements.c_str(), elements.c_str());
+      printf("  seq->%s = (typeof (seq->%s)) g_malloc (seq->n_%s * sizeof (seq->%s[0]));\n\n",
+             elements.c_str(), elements.c_str(), elements.c_str(), elements.c_str());
       printf("  for (i = 0; i < length; i++)\n");
       printf("    {\n");
       printf("      GValue *element = sfi_seq_get (sfi_seq, i);\n");
@@ -994,8 +993,8 @@ void CodeGeneratorCBase::printClientSequenceMethodImpl()
 	  printf("    }\n");
 	}
       printf("\n");
-      printf("  seq->%s = g_realloc (seq->%s, new_size * sizeof (seq->%s[0]));\n",
-	  elements.c_str(), elements.c_str(), elements.c_str());
+      printf("  seq->%s = (typeof (seq->%s)) g_realloc (seq->%s, new_size * sizeof (seq->%s[0]));\n",
+             elements.c_str(), elements.c_str(), elements.c_str(), elements.c_str());
       printf("  if (new_size > seq->n_%s)\n", elements.c_str());
       if (element_i_new != "")
 	{



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]