diff options
author | kay.sievers@vrfy.org <kay.sievers@vrfy.org> | 2004-02-28 01:59:02 -0800 |
---|---|---|
committer | Greg KH <gregkh@suse.de> | 2005-04-26 21:34:28 -0700 |
commit | c58e36c092ad5acc84d35e455ecc74096b25ae66 (patch) | |
tree | 6030871e62499303759ecf4660fc26d9b3683004 /udev.h | |
parent | 7eb136adb8fe265050b2a3e44b216e747163743f (diff) |
[PATCH] udev - safer sprintf() use
Here is for now my last patch to the string handling for a rather
theorethical case, where the node is very very very long. :)
We have accordant to strfieldcat(to, from) now a strintcat(to, i) macro,
which appends the ascii representation of a integer to a string in a
safe way.
Diffstat (limited to 'udev.h')
-rw-r--r-- | udev.h | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -85,6 +85,18 @@ do { \ strncat(to, from, maxsize - strlen(to)-1); \ } while (0) +#define strintcat(to, i) \ +do { \ + to[sizeof(to)-1] = '\0'; \ + snprintf((to) + strlen(to), sizeof(to) - strlen(to)-1, "%u", i); \ +} while (0) + +#define strnintcat(to, i, maxsize) \ +do { \ + to[maxsize-1] = '\0'; \ + snprintf((to) + strlen(to), maxsize - strlen(to)-1, "%u", i); \ +} while (0) + static inline char *get_action(void) { char *action; |