aboutsummaryrefslogtreecommitdiff
path: root/nuttx/binfmt/libnxflat
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-10-25 03:13:11 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-10-25 03:13:11 +0000
commita91b6552cdb1b147461b75128576012192d9e933 (patch)
treea018506cf7763c9e12ab56b1b81d9677b97264f6 /nuttx/binfmt/libnxflat
parent0506b554c82a0d7ca6128c11847595d37169777d (diff)
downloadpx4-firmware-a91b6552cdb1b147461b75128576012192d9e933.tar.gz
px4-firmware-a91b6552cdb1b147461b75128576012192d9e933.tar.bz2
px4-firmware-a91b6552cdb1b147461b75128576012192d9e933.zip
A little more ELF loader logic
git-svn-id: http://svn.code.sf.net/p/nuttx/code/trunk@5256 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/binfmt/libnxflat')
-rw-r--r--nuttx/binfmt/libnxflat/libnxflat_init.c5
-rw-r--r--nuttx/binfmt/libnxflat/libnxflat_read.c12
2 files changed, 10 insertions, 7 deletions
diff --git a/nuttx/binfmt/libnxflat/libnxflat_init.c b/nuttx/binfmt/libnxflat/libnxflat_init.c
index 20f06c6ab..b7cac8d86 100644
--- a/nuttx/binfmt/libnxflat/libnxflat_init.c
+++ b/nuttx/binfmt/libnxflat/libnxflat_init.c
@@ -112,8 +112,9 @@ int nxflat_init(const char *filename, struct nxflat_loadinfo_s *loadinfo)
loadinfo->filfd = open(filename, O_RDONLY);
if (loadinfo->filfd < 0)
{
- bdbg("Failed to open NXFLAT binary %s: %d\n", filename, ret);
- return -errno;
+ int errval = errno;
+ bdbg("Failed to open NXFLAT binary %s: %d\n", filename, errval);
+ return -errval;
}
/* Read the NXFLAT header from offset 0 */
diff --git a/nuttx/binfmt/libnxflat/libnxflat_read.c b/nuttx/binfmt/libnxflat/libnxflat_read.c
index da05bc399..8deeb0805 100644
--- a/nuttx/binfmt/libnxflat/libnxflat_read.c
+++ b/nuttx/binfmt/libnxflat/libnxflat_read.c
@@ -129,8 +129,9 @@ int nxflat_read(struct nxflat_loadinfo_s *loadinfo, char *buffer, int readsize,
rpos = lseek(loadinfo->filfd, offset, SEEK_SET);
if (rpos != offset)
{
- bdbg("Failed to seek to position %d: %d\n", offset, errno);
- return -errno;
+ int errval = errno;
+ bdbg("Failed to seek to position %d: %d\n", offset, errval);
+ return -errval;
}
/* Read the file data at offset into the user buffer */
@@ -138,10 +139,11 @@ int nxflat_read(struct nxflat_loadinfo_s *loadinfo, char *buffer, int readsize,
nbytes = read(loadinfo->filfd, bufptr, bytesleft);
if (nbytes < 0)
{
- if (errno != EINTR)
+ int errval = errno;
+ if (errval != EINTR)
{
- bdbg("Read of .data failed: %d\n", errno);
- return -errno;
+ bdbg("Read of .data failed: %d\n", errval);
+ return -errval;
}
}
else if (nbytes == 0)