diff options
| author | Leah Rowe <leah@libreboot.org> | 2026-03-19 07:32:46 +0000 |
|---|---|---|
| committer | Leah Rowe <leah@libreboot.org> | 2026-03-19 07:37:53 +0000 |
| commit | 846cb235853c553e7196c131dd0dd6a688116de3 (patch) | |
| tree | aebff297bc5e739130ffdae354e136f295fa557e | |
| parent | f1fda8b43eb03be951846c6df9d0be81be84808e (diff) | |
nvmutil: remove memcmp/memcpy/strrchr/rename
i had this idea in my head of later porting this
to k&r c for fun. but screw it.
compiling on everything since 1989 is enough
Signed-off-by: Leah Rowe <leah@libreboot.org>
| -rw-r--r-- | util/nvmutil/include/common.h | 14 | ||||
| -rw-r--r-- | util/nvmutil/lib/command.c | 8 | ||||
| -rw-r--r-- | util/nvmutil/lib/file.c | 72 | ||||
| -rw-r--r-- | util/nvmutil/lib/io.c | 10 | ||||
| -rw-r--r-- | util/nvmutil/lib/state.c | 2 | ||||
| -rw-r--r-- | util/nvmutil/lib/string.c | 40 |
6 files changed, 18 insertions, 128 deletions
diff --git a/util/nvmutil/include/common.h b/util/nvmutil/include/common.h index 881d602f..961fbb1d 100644 --- a/util/nvmutil/include/common.h +++ b/util/nvmutil/include/common.h @@ -11,14 +11,6 @@ #include <sys/stat.h> #include <limits.h> -/* keep SYS_RENAME 1 to - * use libc rename() - * recommended - */ -#ifndef SYS_RENAME -#define SYS_RENAME 1 -#endif - #define items(x) (sizeof((x)) / sizeof((x)[0])) /* system prototypes @@ -434,14 +426,8 @@ const char *getnvmprogname(void); char *new_tmpfile(int *fd, int local, const char *path); int x_i_mkstemp(char *template); -char *x_c_strrchr(const char *s, int c); -int x_i_rename(const char *src, const char *dst); char *x_c_tmpdir(void); int x_i_close(int fd); -void *x_v_memcpy(void *dst, - const void *src, unsigned long n); -int x_i_memcmp(const void *a, - const void *b, unsigned long n); int x_i_fsync(int fd); /* asserts */ diff --git a/util/nvmutil/lib/command.c b/util/nvmutil/lib/command.c index 6b232b5f..367c949a 100644 --- a/util/nvmutil/lib/command.c +++ b/util/nvmutil/lib/command.c @@ -415,17 +415,17 @@ cmd_helper_swap(void) check_cmd(cmd_helper_swap, "swap"); - x_v_memcpy( + memcpy( f->buf + (unsigned long)GBE_WORK_SIZE, f->buf, GBE_PART_SIZE); - x_v_memcpy( + memcpy( f->buf, f->buf + (unsigned long)GBE_PART_SIZE, GBE_PART_SIZE); - x_v_memcpy( + memcpy( f->buf + (unsigned long)GBE_PART_SIZE, f->buf + (unsigned long)GBE_WORK_SIZE, GBE_PART_SIZE); @@ -442,7 +442,7 @@ cmd_helper_copy(void) check_cmd(cmd_helper_copy, "copy"); - x_v_memcpy( + memcpy( f->buf + (unsigned long)((f->part ^ 1) * GBE_PART_SIZE), f->buf + (unsigned long)(f->part * GBE_PART_SIZE), GBE_PART_SIZE); diff --git a/util/nvmutil/lib/file.c b/util/nvmutil/lib/file.c index 7b166744..63ac7d0d 100644 --- a/util/nvmutil/lib/file.c +++ b/util/nvmutil/lib/file.c @@ -5,6 +5,7 @@ * Safe file handling. */ +#include <sys/types.h> #include <sys/stat.h> #include <errno.h> @@ -66,7 +67,7 @@ xopen(int *fd_ptr, const char *path, int flags, struct stat *st) err(errno, "%s: file not seekable", path); } -/* Ensure x_i_rename() is durable by syncing the +/* Ensure rename() is durable by syncing the * directory containing the target file. */ @@ -112,8 +113,8 @@ fsync_dir(const char *path) if (dirbuf == NULL) goto err_fsync_dir; - x_v_memcpy(dirbuf, path, pathlen + 1); - slash = x_c_strrchr(dirbuf, '/'); + memcpy(dirbuf, path, pathlen + 1); + slash = strrchr(dirbuf, '/'); if (slash != NULL) { *slash = '\0'; @@ -294,17 +295,17 @@ new_tmpfile(int *fd, int local, const char *path) *dest = '.'; /* hidden file */ - x_v_memcpy(dest + (unsigned long)1, tmpname, tmpname_len); + memcpy(dest + (unsigned long)1, tmpname, tmpname_len); - x_v_memcpy(dest + (unsigned long)1 + tmpname_len, + memcpy(dest + (unsigned long)1 + tmpname_len, default_tmpname, tmpdir_len); } else { - x_v_memcpy(dest, base, tmpdir_len); + memcpy(dest, base, tmpdir_len); dest[tmpdir_len] = '/'; - x_v_memcpy(dest + tmpdir_len + 1, tmpname, tmpname_len); + memcpy(dest + tmpdir_len + 1, tmpname, tmpname_len); } dest[tmppath_len] = '\0'; @@ -906,63 +907,6 @@ try_err(int loop_err, int errval) return -1; } -/* portable rename(). WARNING: - * not powercut-safe. do this to - * use system rename: - * #define SYS_RENAME 1 - * - * written academically, but in reality, - * nearly all unix systems have rename() - */ - -int -x_i_rename(const char *src, const char *dst) -{ -#if defined(SYS_RENAME) &&\ - SYS_RENAME > 0 - return rename(src, dst); -#else - int sfd, dirfd; - ssize_t r; - char buf[8192]; - - sfd = open(src, O_RDONLY); - if (sfd < 0) - return -1; - - dirfd = open(dst, O_WRONLY | O_CREAT | O_TRUNC, 0600); - if (dirfd < 0) { - x_i_close(sfd); - return -1; - } - - while ((r = read(sfd, buf, sizeof(buf))) > 0) { - ssize_t w = write(dirfd, buf, r); - if (w != r) { - x_i_close(sfd); - x_i_close(dirfd); - return -1; - } - } - - if (r < 0) { - x_i_close(sfd); - x_i_close(dirfd); - return -1; - } - - x_i_fsync(dirfd); - - x_i_close(sfd); - x_i_close(dirfd); - - if (unlink(src) < 0) - return -1; - - return 0; -#endif -} - int x_i_close(int fd) { diff --git a/util/nvmutil/lib/io.c b/util/nvmutil/lib/io.c index 4c48db5e..d9f7a897 100644 --- a/util/nvmutil/lib/io.c +++ b/util/nvmutil/lib/io.c @@ -79,7 +79,7 @@ copy_gbe(void) if (f->gbe_file_size == SIZE_8KB) return; - x_v_memcpy(f->buf + (unsigned long)GBE_PART_SIZE, + memcpy(f->buf + (unsigned long)GBE_PART_SIZE, f->buf + (unsigned long)(f->gbe_file_size >> 1), (unsigned long)GBE_PART_SIZE); } @@ -135,7 +135,7 @@ read_file(void) if (_r < 0) err(errno, "%s: read failed (cmp)", f->tname); - if (x_i_memcmp(f->buf, f->bufcmp, f->gbe_file_size) != 0) + if (memcmp(f->buf, f->bufcmp, f->gbe_file_size) != 0) err(errno, "%s: %s: read contents differ (pre-test)", f->fname, f->tname); } @@ -331,7 +331,7 @@ check_written_part(unsigned long p) f->rw_check_err_read[p] = f->io_err_gbe = 1; else if ((unsigned long)rval != gbe_rw_size) f->rw_check_partial_read[p] = f->io_err_gbe = 1; - else if (x_i_memcmp(mem_offset, f->pad, gbe_rw_size) != 0) + else if (memcmp(mem_offset, f->pad, gbe_rw_size) != 0) f->rw_check_bad_part[p] = f->io_err_gbe = 1; if (f->rw_check_err_read[p] || @@ -435,7 +435,7 @@ gbe_mv(void) saved_errno = errno; - rval = x_i_rename(f->tname, f->fname); + rval = rename(f->tname, f->fname); if (rval > -1) { /* @@ -490,7 +490,7 @@ gbe_mv(void) if (x_i_close(dest_fd) == -1) goto ret_gbe_mv; - if (x_i_rename(dest_tmp, f->fname) == -1) + if (rename(dest_tmp, f->fname) == -1) goto ret_gbe_mv; if (fsync_dir(f->fname) < 0) { diff --git a/util/nvmutil/lib/state.c b/util/nvmutil/lib/state.c index b350330e..55d2deea 100644 --- a/util/nvmutil/lib/state.c +++ b/util/nvmutil/lib/state.c @@ -236,7 +236,7 @@ getnvmprogname(void) rval = x->argv0; } - p = x_c_strrchr(rval, '/'); + p = strrchr(rval, '/'); if (p) return p + 1; diff --git a/util/nvmutil/lib/string.c b/util/nvmutil/lib/string.c index 4f55c0d3..4139c354 100644 --- a/util/nvmutil/lib/string.c +++ b/util/nvmutil/lib/string.c @@ -81,43 +81,3 @@ xstrxlen(const char *scmp, unsigned long maxlen) return xstr_index; } - -char * -x_c_strrchr(const char *s, int c) -{ - const char *p = NULL; - - for ( ; *s; s++) - if (*s == (char)c) - p = s; - - if (c == '\0') - return (char *)s; - - return (char *)p; -} - -void * -x_v_memcpy(void *dst, const void *src, unsigned long n) -{ - unsigned char *d = (unsigned char *)dst; - const unsigned char *s = (const unsigned char *)src; - - while (n--) - *d++ = *s++; - - return dst; -} - -int -x_i_memcmp(const void *a, const void *b, unsigned long n) -{ - const unsigned char *pa = (const unsigned char *)a; - const unsigned char *pb = (const unsigned char *)b; - - for ( ; n--; ++pa, ++pb) - if (*pa != *pb) - return *pa - *pb; - - return 0; -} |
