summaryrefslogtreecommitdiff
path: root/libgphoto2/gphoto2-context.c
diff options
context:
space:
mode:
authorMarcus Meissner <marcus@jet.franken.de>2014-09-12 06:39:33 +0000
committerMarcus Meissner <marcus@jet.franken.de>2014-09-12 06:39:33 +0000
commit7e8957d8b5d3a723ed949476875e759d6b5d9137 (patch)
tree64f96b1eda88b101493ae5c5c4c43784bc9c1e93 /libgphoto2/gphoto2-context.c
parent5e8a10669cd03db3fb1cc1bb9edc5fd9341980f2 (diff)
downloadlibgphoto2-7e8957d8b5d3a723ed949476875e759d6b5d9137.tar.gz
From: Axel Waggershauser <awagger@web.de>
make gpi_vsnprintf internal export and use it in gphoto2-context.c too git-svn-id: https://svn.code.sf.net/p/gphoto/code/trunk/libgphoto2@15178 67ed7778-7388-44ab-90cf-0a291f65f57c
Diffstat (limited to 'libgphoto2/gphoto2-context.c')
-rw-r--r--libgphoto2/gphoto2-context.c185
1 files changed, 21 insertions, 164 deletions
diff --git a/libgphoto2/gphoto2-context.c b/libgphoto2/gphoto2-context.c
index ec3d1daf6..58835d056 100644
--- a/libgphoto2/gphoto2-context.c
+++ b/libgphoto2/gphoto2-context.c
@@ -156,51 +156,21 @@ gp_context_progress_start (GPContext *context, float target,
const char *format, ...)
{
va_list args;
- unsigned int id;
-#ifdef HAVE_VA_COPY
- va_list xargs;
-#else
-#define xargs args
-#endif
- int strsize = 1000;
char *str;
- int n;
+ unsigned int id;
if (!context)
return (0);
if (!context->progress_start_func)
return (0);
- str = malloc(strsize);
- if (!str) {
- return 0;
- }
va_start (args, format);
-#ifdef HAVE_VA_COPY
- va_copy (xargs, args);
-#endif
- n = vsnprintf (str, strsize, format, xargs);
-#ifdef HAVE_VA_COPY
- va_end (xargs);
-#endif
- if (n+1>strsize) {
- free (str);
- str = malloc(n+1);
- if (!str) {
- va_end (args);
- return 0;
- }
- strsize = n+1;
-#ifdef HAVE_VA_COPY
- va_copy (xargs, args);
-#endif
- n = vsnprintf (str, strsize, format, xargs);
-#ifdef HAVE_VA_COPY
- va_end (xargs);
-#endif
- }
+ str = gpi_vsnprintf(format, args);
va_end (args);
+ if (!str)
+ return 0;
+
id = context->progress_start_func (context, target, str,
context->progress_func_data);
free (str);
@@ -233,43 +203,15 @@ void
gp_context_error (GPContext *context, const char *format, ...)
{
va_list args;
-#ifdef HAVE_VA_COPY
- va_list xargs;
-#endif
- int strsize = 1000;
char *str;
- int n;
- str = malloc(strsize);
- if (!str) {
- return;
- }
va_start (args, format);
-#ifdef HAVE_VA_COPY
- va_copy (xargs, args);
-#endif
- n = vsnprintf (str, strsize, format, xargs);
-#ifdef HAVE_VA_COPY
- va_end (xargs);
-#endif
- if (n+1>strsize) {
- free (str);
- str = malloc(n+1);
- if (!str) {
- va_end (args);
- return;
- }
- strsize = n+1;
-#ifdef HAVE_VA_COPY
- va_copy (xargs, args);
-#endif
- n = vsnprintf (str, strsize, format, xargs);
-#ifdef HAVE_VA_COPY
- va_end (xargs);
-#endif
- }
+ str = gpi_vsnprintf(format, args);
va_end (args);
+ if (!str)
+ return;
+
/* Log the error message */
gp_log( GP_LOG_ERROR, __func__, "%s", str);
@@ -282,43 +224,15 @@ void
gp_context_status (GPContext *context, const char *format, ...)
{
va_list args;
-#ifdef HAVE_VA_COPY
- va_list xargs;
-#endif
- int strsize = 1000;
char *str;
- int n;
- str = malloc(strsize);
- if (!str) {
- return;
- }
va_start (args, format);
-#ifdef HAVE_VA_COPY
- va_copy (xargs, args);
-#endif
- n = vsnprintf (str, strsize, format, xargs);
-#ifdef HAVE_VA_COPY
- va_end (xargs);
-#endif
- if (n+1>strsize) {
- free (str);
- str = malloc(n+1);
- if (!str) {
- va_end (args);
- return;
- }
- strsize = n+1;
-#ifdef HAVE_VA_COPY
- va_copy (xargs, args);
-#endif
- n = vsnprintf (str, strsize, format, xargs);
-#ifdef HAVE_VA_COPY
- va_end (xargs);
-#endif
- }
+ str = gpi_vsnprintf(format, args);
va_end (args);
+ if (!str)
+ return;
+
/* Log the status message */
GP_LOG_D ("%s", str);
@@ -343,44 +257,15 @@ void
gp_context_message (GPContext *context, const char *format, ...)
{
va_list args;
-#ifdef HAVE_VA_COPY
- va_list xargs;
-#endif
- int strsize = 1000;
char *str;
- int n;
- str = malloc(strsize);
- if (!str) {
- va_end (xargs);
- return;
- }
va_start (args, format);
-#ifdef HAVE_VA_COPY
- va_copy (xargs, args);
-#endif
- n = vsnprintf (str, strsize, format, xargs);
-#ifdef HAVE_VA_COPY
- va_end (xargs);
-#endif
- if (n+1>strsize) {
- free (str);
- str = malloc(n+1);
- if (!str) {
- va_end (args);
- return;
- }
- strsize = n+1;
-#ifdef HAVE_VA_COPY
- va_copy (xargs, args);
-#endif
- n = vsnprintf (str, strsize, format, xargs);
-#ifdef HAVE_VA_COPY
- va_end (xargs);
-#endif
- }
+ str = gpi_vsnprintf(format, args);
va_end (args);
+ if (!str)
+ return;
+
/* Log the message */
GP_LOG_D ("%s", str);
@@ -407,43 +292,15 @@ gp_context_question (GPContext *context, const char *format, ...)
{
GPContextFeedback feedback;
va_list args;
-#ifdef HAVE_VA_COPY
- va_list xargs;
-#endif
- int strsize = 1000;
char *str;
- int n;
- str = malloc(strsize);
- if (!str) {
- return GP_CONTEXT_FEEDBACK_OK;
- }
va_start (args, format);
-#ifdef HAVE_VA_COPY
- va_copy (xargs, args);
-#endif
- n = vsnprintf (str, strsize, format, xargs);
-#ifdef HAVE_VA_COPY
- va_end (xargs);
-#endif
- if (n+1>strsize) {
- free (str);
- str = malloc(n+1);
- if (!str) {
- va_end (args);
- return GP_CONTEXT_FEEDBACK_OK;
- }
- strsize = n+1;
-#ifdef HAVE_VA_COPY
- va_copy (xargs, args);
-#endif
- n = vsnprintf (str, strsize, format, xargs);
-#ifdef HAVE_VA_COPY
- va_end (xargs);
-#endif
- }
+ str = gpi_vsnprintf(format, args);
va_end (args);
+ if (!str)
+ return GP_CONTEXT_FEEDBACK_OK;
+
feedback = GP_CONTEXT_FEEDBACK_OK;
if (context && context->question_func)
feedback = context->question_func (context, str, context->question_func_data);