repositories
/
TD_C.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
TP_13 exo1: Beautify an error message
[TD_C.git]
/
TP_13
/
exo1
/
lib
/
array.c
diff --git
a/TP_13/exo1/lib/array.c
b/TP_13/exo1/lib/array.c
index db8ab7e408d625d00db9873d5c363d5d22d1e0c8..0922fe247add3bfe1e833061d2b238a509efb57f 100644
(file)
--- a/
TP_13/exo1/lib/array.c
+++ b/
TP_13/exo1/lib/array.c
@@
-15,7
+15,8
@@
int* create_tab(int tab[], unsigned tab_size) {
}
void free_tab(int tab[]) {
}
void free_tab(int tab[]) {
- free(tab);
+ if (!tab)
+ free(tab);
}
/* we suppose both tabs are already created */
}
/* we suppose both tabs are already created */
@@
-23,7
+24,7
@@
static void copy_tab(int src_tab[], int dest_tab[], unsigned src_tab_size, unsig
/* FIXME: I think it's worth doing some sanity checks on the array size:
* dest_tab_size >= src_tab_size */
if (src_tab == NULL || dest_tab == NULL) {
/* FIXME: I think it's worth doing some sanity checks on the array size:
* dest_tab_size >= src_tab_size */
if (src_tab == NULL || dest_tab == NULL) {
- printf("
p
lease ensure you have created both arrays beforehand\n");
+ printf("
P
lease ensure you have created both arrays beforehand\n");
return;
}
for (unsigned i = 0; i < src_tab_size; i++) {
return;
}
for (unsigned i = 0; i < src_tab_size; i++) {
@@
-43,6
+44,7
@@
int* concat_tab(int tab1[], unsigned tab_size1, int tab2[], unsigned tab_size2)
int* resize_tab(int tab[], unsigned old_tab_size, unsigned new_tab_size) {
tab = realloc(tab, sizeof(int) * new_tab_size);
int* resize_tab(int tab[], unsigned old_tab_size, unsigned new_tab_size) {
tab = realloc(tab, sizeof(int) * new_tab_size);
+ /* zero by default the added cells */
if (old_tab_size < new_tab_size) {
for (unsigned i = old_tab_size; i < new_tab_size; i++) {
tab[i] = 0;
if (old_tab_size < new_tab_size) {
for (unsigned i = old_tab_size; i < new_tab_size; i++) {
tab[i] = 0;