core: New ot_transfer_out_value() macro
This makes out values considerably less typing.
This commit is contained in:
1 parent
32c8166b25
commit
0003e101f6
7 files changed
+59
-136
No files matched your search
@@ -186,11 +186,7 @@ ot_gio_splice_and_checksum (GOutputStream *out,
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
if (out_checksum)
|
||||
{
|
||||
*out_checksum = ret_checksum;
|
||||
ret_checksum = NULL;
|
||||
}
|
||||
ot_transfer_out_value(out_checksum, ret_checksum);
|
||||
out:
|
||||
ot_clear_checksum (&ret_checksum);
|
||||
return ret;
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "ot-unix-utils.h"
|
||||
#include "otutil.h"
|
||||
|
||||
#include <gio/gio.h>
|
||||
#include <gio/gunixoutputstream.h>
|
||||
@@ -67,8 +67,7 @@ ot_util_spawn_pager (GOutputStream **out_stream,
|
||||
ret_stream = (GOutputStream*)g_unix_output_stream_new (stdin_fd, TRUE);
|
||||
}
|
||||
|
||||
*out_stream = ret_stream;
|
||||
ret_stream = NULL;
|
||||
ot_transfer_out_value(out_stream, ret_stream);
|
||||
ret = TRUE;
|
||||
out:
|
||||
g_clear_object (&ret_stream);
|
||||
|
||||
@@ -114,8 +114,7 @@ ot_util_variant_map (GFile *src,
|
||||
g_variant_ref_sink (ret_variant);
|
||||
|
||||
ret = TRUE;
|
||||
*out_variant = ret_variant;
|
||||
ret_variant = NULL;
|
||||
ot_transfer_out_value(out_variant, ret_variant);
|
||||
out:
|
||||
ot_clear_gvariant (&ret_variant);
|
||||
if (mfile)
|
||||
|
||||
@@ -32,6 +32,14 @@
|
||||
} \
|
||||
} G_STMT_END;
|
||||
|
||||
#define ot_transfer_out_value(outp, srcp) G_STMT_START { \
|
||||
if (outp) \
|
||||
{ \
|
||||
*outp = srcp; \
|
||||
srcp = NULL; \
|
||||
} \
|
||||
} G_STMT_END;
|
||||
|
||||
#include <ot-gio-utils.h>
|
||||
#include <ot-glib-compat.h>
|
||||
#include <ot-opt-utils.h>
|
||||
|
||||
Reference in new issue
Block a user