[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] savedir: simplify by using stpcpy
From: |
Paul Eggert |
Subject: |
[PATCH] savedir: simplify by using stpcpy |
Date: |
Sun, 23 Feb 2014 14:20:18 -0800 |
* lib/savedir.c (direntry_t): Remove size member. All uses removed.
(streamsavedir): Use stpcpy instead.
* modules/savedir (Depends-on): Add stpcpy.
---
ChangeLog | 7 +++++++
lib/savedir.c | 34 ++++++++++++++++------------------
modules/savedir | 1 +
3 files changed, 24 insertions(+), 18 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 5b42661..a46689f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2014-02-23 Paul Eggert <address@hidden>
+
+ savedir: simplify by using stpcpy
+ * lib/savedir.c (direntry_t): Remove size member. All uses removed.
+ (streamsavedir): Use stpcpy instead.
+ * modules/savedir (Depends-on): Add stpcpy.
+
2014-02-21 Pádraig Brady <address@hidden>
spawn: fix link error on uclibc
diff --git a/lib/savedir.c b/lib/savedir.c
index badf602..111d84b 100644
--- a/lib/savedir.c
+++ b/lib/savedir.c
@@ -40,7 +40,6 @@
typedef struct
{
char *name;
- size_t size;
#if D_INO_IN_DIRENT
ino_t ino;
#endif
@@ -128,25 +127,24 @@ streamsavedir (DIR *dirp, enum savedir_option option)
entries_allocated = n;
}
entries[entries_used].name = xstrdup (entry);
- entries[entries_used].size = entry_size;
#if D_INO_IN_DIRENT
entries[entries_used].ino = dp->d_ino;
#endif
entries_used++;
}
- else
- {
- if (allocated - used <= entry_size)
- {
- size_t n = used + entry_size;
- if (n < used)
- xalloc_die ();
- name_space = x2nrealloc (name_space, &n, 1);
- allocated = n;
- }
- memcpy (name_space + used, entry, entry_size);
- }
- used += entry_size;
+ else
+ {
+ if (allocated - used <= entry_size)
+ {
+ size_t n = used + entry_size;
+ if (n < used)
+ xalloc_die ();
+ name_space = x2nrealloc (name_space, &n, 1);
+ allocated = n;
+ }
+ memcpy (name_space + used, entry, entry_size);
+ }
+ used += entry_size;
}
}
@@ -168,9 +166,9 @@ streamsavedir (DIR *dirp, enum savedir_option option)
used = 0;
for (i = 0; i < entries_used; i++)
{
- memcpy (name_space + used, entries[i].name, entries[i].size);
- used += entries[i].size;
- free (entries[i].name);
+ char *dest = name_space + used;
+ used += stpcpy (dest, entries[i].name) - dest + 1;
+ free (entries[i].name);
}
free (entries);
}
diff --git a/modules/savedir b/modules/savedir
index f17ab0a..4210981 100644
--- a/modules/savedir
+++ b/modules/savedir
@@ -12,6 +12,7 @@ dirent-safer
fdopendir
opendir
readdir
+stpcpy
xalloc
configure.ac:
--
1.8.5.3
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] savedir: simplify by using stpcpy,
Paul Eggert <=