|
Zbigniew Jędrzejewski-Szmek |
7f93bc |
From f6c97dfac68184fd99a09ee6c048d7a859677fe5 Mon Sep 17 00:00:00 2001
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
From: Harald Hoyer <harald@redhat.com>
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
Date: Thu, 6 Mar 2014 16:35:02 +0100
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
Subject: [PATCH] Add strappenda3
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
(cherry picked from commit f39d4a08e746e703d562076a0f622eb91dbdcd3e)
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
For strappenda3, and it seems a good fix in general.
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
(cherry picked from commit 4f0b9b433473d4f2b24675253064fd098d21e5a6)
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
Conflicts:
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
src/systemctl/systemctl.c
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
---
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
src/shared/util.h | 13 +++++++++++++
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
1 file changed, 13 insertions(+)
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
diff --git a/src/shared/util.h b/src/shared/util.h
|
|
Zbigniew Jędrzejewski-Szmek |
1cc3df |
index 20d81e5c80..3f9766339d 100644
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
--- a/src/shared/util.h
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
+++ b/src/shared/util.h
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
@@ -728,6 +728,19 @@ int unlink_noerrno(const char *path);
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
_c_; \
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
})
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
+#define strappenda3(a, b, c) \
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
+ ({ \
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
+ const char *_a_ = (a), *_b_ = (b), *_c_ = (c); \
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
+ char *_d_; \
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
+ size_t _x_, _y_, _z_; \
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
+ _x_ = strlen(_a_); \
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
+ _y_ = strlen(_b_); \
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
+ _z_ = strlen(_c_); \
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
+ _d_ = alloca(_x_ + _y_ + _z_ + 1); \
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
+ strcpy(stpcpy(stpcpy(_d_, _a_), _b_), _c_); \
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
+ _d_; \
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
+ })
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
#define procfs_file_alloca(pid, field) \
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
({ \
|
|
Zbigniew Jędrzejewski-Szmek |
a59965 |
pid_t _pid_ = (pid); \
|