[geany/geany-plugins] 15bc6c: pretty-printer: Switch to the GLib allocator
Colomban Wendling
git-noreply at xxxxx
Thu Jun 9 13:09:14 UTC 2016
Branch: refs/heads/master
Author: Colomban Wendling <ban at herbesfolles.org>
Committer: Colomban Wendling <ban at herbesfolles.org>
Date: Sat, 20 Feb 2016 18:47:27 UTC
Commit: 15bc6c48c2fe0873a69edad297da566f9d12bd4e
https://github.com/geany/geany-plugins/commit/15bc6c48c2fe0873a69edad297da566f9d12bd4e
Log Message:
-----------
pretty-printer: Switch to the GLib allocator
This is not really useful per se, but will allow to pass a
GLib-allocated buffer to processXMLPrettyPrinting() without having to
worry about mismatching allocators.
Modified Paths:
--------------
pretty-printer/src/PluginEntry.c
pretty-printer/src/PrettyPrinter.c
Modified: pretty-printer/src/PluginEntry.c
5 lines changed, 2 insertions(+), 3 deletions(-)
===================================================================
@@ -112,7 +112,7 @@ void xml_format(GtkMenuItem* menuitem, gpointer gdata)
GeanyEditor* editor;
ScintillaObject* sco;
int length;
- char* buffer;
+ gchar* buffer;
xmlDoc* parsedDocument;
int result;
int xOffset;
@@ -129,8 +129,7 @@ void xml_format(GtkMenuItem* menuitem, gpointer gdata)
/* prepare the buffer that will contain the text
* from the scintilla object */
length = sci_get_length(sco)+1;
- buffer = (char*)malloc(length*sizeof(char));
- if (buffer == NULL) { exit(-1); } /* malloc error */
+ buffer = (char*)g_malloc(length*sizeof(char));
/* retrieves the text */
sci_get_text(sco, length, buffer);
Modified: pretty-printer/src/PrettyPrinter.c
20 lines changed, 10 insertions(+), 10 deletions(-)
===================================================================
@@ -116,7 +116,7 @@ int processXMLPrettyPrinting(char** buffer, int* length, PrettyPrintingOptions*
inputBufferLength = *length;
xmlPrettyPrintedLength = *length;
- xmlPrettyPrinted = (char*)malloc(sizeof(char)*(*length));
+ xmlPrettyPrinted = (char*)g_try_malloc(sizeof(char)*(*length));
if (xmlPrettyPrinted == NULL) { PP_ERROR("Allocation error (initialisation)"); return PRETTY_PRINTING_SYSTEM_ERROR; }
/* go to the first char */
@@ -129,29 +129,29 @@ int processXMLPrettyPrinting(char** buffer, int* length, PrettyPrintingOptions*
putCharInBuffer('\0');
/* adjust the final size */
- reallocated = (char*)realloc(xmlPrettyPrinted, xmlPrettyPrintedIndex);
+ reallocated = (char*)g_try_realloc(xmlPrettyPrinted, xmlPrettyPrintedIndex);
if (reallocated == NULL) {
PP_ERROR("Allocation error (reallocation size is %d)", xmlPrettyPrintedIndex);
- free(xmlPrettyPrinted);
+ g_free(xmlPrettyPrinted);
xmlPrettyPrinted = NULL;
return PRETTY_PRINTING_SYSTEM_ERROR;
}
xmlPrettyPrinted = reallocated;
/* freeing the unused values */
- if (freeOptions) { free(options); }
+ if (freeOptions) { g_free(options); }
/* if success, then update the values */
if (result == PRETTY_PRINTING_SUCCESS)
{
- free(*buffer);
+ g_free(*buffer);
*buffer = xmlPrettyPrinted;
*length = xmlPrettyPrintedIndex-2; /* the '\0' is not in the length */
}
/* else clean the other values */
else
{
- free(xmlPrettyPrinted);
+ g_free(xmlPrettyPrinted);
}
/* updating the pointers for the using into the caller function */
@@ -166,7 +166,7 @@ int processXMLPrettyPrinting(char** buffer, int* length, PrettyPrintingOptions*
PrettyPrintingOptions* createDefaultPrettyPrintingOptions(void)
{
- PrettyPrintingOptions* defaultOptions = (PrettyPrintingOptions*)malloc(sizeof(PrettyPrintingOptions));
+ PrettyPrintingOptions* defaultOptions = (PrettyPrintingOptions*)g_try_malloc(sizeof(PrettyPrintingOptions));
if (defaultOptions == NULL)
{
PP_ERROR("Unable to allocate memory for PrettyPrintingOptions");
@@ -213,7 +213,7 @@ void putCharInBuffer(char charToAdd)
if (charToAdd == '\0') { ++xmlPrettyPrintedLength; }
else { xmlPrettyPrintedLength += inputBufferLength; }
- reallocated = (char*)realloc(xmlPrettyPrinted, xmlPrettyPrintedLength);
+ reallocated = (char*)g_try_realloc(xmlPrettyPrinted, xmlPrettyPrintedLength);
if (reallocated == NULL) { PP_ERROR("Allocation error (char was %c)", charToAdd); return; }
xmlPrettyPrinted = reallocated;
}
@@ -621,7 +621,7 @@ void processNode(void)
}
/* store the name */
- nodeName = (char*)malloc(sizeof(char)*nodeNameLength+1);
+ nodeName = (char*)g_try_malloc(sizeof(char)*nodeNameLength+1);
if (nodeName == NULL) { PP_ERROR("Allocation error (node name length is %d)", nodeNameLength); return ; }
nodeName[nodeNameLength] = '\0';
for (i=0 ; i<nodeNameLength ; ++i)
@@ -730,7 +730,7 @@ void processNode(void)
lastNodeOpen = FALSE;
/* freeeeeeee !!! */
- free(nodeName);
+ g_free(nodeName);
nodeName = NULL;
currentNodeName = NULL;
}
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
More information about the Plugins-Commits
mailing list