Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Wim Lewis
nettle
Commits
c1581854
Commit
c1581854
authored
Oct 01, 2002
by
Niels Möller
Browse files
* examples/io.c (read_file): Bug fix, used to overwrite pointer.
Rev: src/nettle/examples/io.c:1.2
parent
577e1b4f
Changes
1
Hide whitespace changes
Inline
Side-by-side
examples/io.c
View file @
c1581854
...
...
@@ -52,17 +52,18 @@ werror(const char *format, ...)
#define MIN(a,b) (((a) < (b)) ? (a) : (b))
unsigned
read_file
(
const
char
*
name
,
unsigned
max_size
,
char
**
buffer
)
read_file
(
const
char
*
name
,
unsigned
max_size
,
char
**
contents
)
{
unsigned
size
;
unsigned
done
;
char
*
buffer
;
FILE
*
f
;
f
=
fopen
(
name
,
"rb"
);
if
(
!
f
)
return
0
;
*
buffer
=
NULL
;
buffer
=
NULL
;
if
(
max_size
&&
max_size
<
100
)
size
=
max_size
;
...
...
@@ -75,22 +76,22 @@ read_file(const char *name, unsigned max_size, char **buffer)
{
char
*
p
;
if
(
size
>
max_size
)
if
(
max_size
&&
size
>
max_size
)
size
=
max_size
;
/* Space for terminating NUL */
p
=
realloc
(
*
buffer
,
size
+
1
);
p
=
realloc
(
buffer
,
size
+
1
);
if
(
!
p
)
{
fail:
fclose
(
f
);
free
(
*
buffer
);
*
buffer
=
NULL
;
free
(
buffer
);
*
contents
=
NULL
;
return
0
;
}
*
buffer
=
p
;
buffer
=
p
;
done
+=
fread
(
buffer
+
done
,
1
,
size
-
done
,
f
);
if
(
ferror
(
f
))
...
...
@@ -100,7 +101,9 @@ read_file(const char *name, unsigned max_size, char **buffer)
fclose
(
f
);
/* NUL-terminate the data. */
(
*
buffer
)[
done
]
=
'\0'
;
buffer
[
done
]
=
'\0'
;
*
contents
=
buffer
;
return
done
;
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment