-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
sentralized safe_strncpy, using install
- Loading branch information
Richard C. Burhans
committed
Oct 18, 2024
1 parent
2f29e7c
commit aa5dca4
Showing
2 changed files
with
81 additions
and
74 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,11 @@ | ||
#!/bin/bash -e | ||
set -uex | ||
|
||
mkdir -vp ${PREFIX}/bin | ||
mkdir -vp "${PREFIX}/bin" | ||
|
||
make VERBOSE=1 -j ${CPU_COUNT} | ||
|
||
cp "$SRC_DIR/genodsp" "$PREFIX/bin" | ||
chmod ua+x "$PREFIX/bin/genodsp | ||
if ! install -v "$SRC_DIR/genodsp" "$PREFIX/bin/genodsp"; then | ||
echo "Failed to install genodsp binary" >&2 | ||
exit 1 | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,167 +1,172 @@ | ||
diff --git a/add.c b/add.c | ||
index 752dd5d..7f75e47 100644 | ||
index 752dd5d..8fa4bad 100644 | ||
--- a/add.c | ||
+++ b/add.c | ||
@@ -240,7 +240,10 @@ void op_add_apply | ||
@@ -240,7 +240,7 @@ void op_add_apply | ||
v = NULL; | ||
chromSpec = find_chromosome_spec (chrom); | ||
if (chromSpec != NULL) v = chromSpec->valVector; | ||
+#pragma GCC diagnostic push | ||
+#pragma GCC diagnostic ignored "-Wstringop-truncation" | ||
strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+#pragma GCC diagnostic pop | ||
- strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+ safe_strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
} | ||
|
||
if (chromSpec == NULL) continue; | ||
@@ -533,7 +536,10 @@ void op_subtract_apply | ||
@@ -533,7 +533,7 @@ void op_subtract_apply | ||
v = NULL; | ||
chromSpec = find_chromosome_spec (chrom); | ||
if (chromSpec != NULL) v = chromSpec->valVector; | ||
+#pragma GCC diagnostic push | ||
+#pragma GCC diagnostic ignored "-Wstringop-truncation" | ||
strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+#pragma GCC diagnostic pop | ||
- strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+ safe_strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
} | ||
|
||
if (chromSpec == NULL) continue; | ||
diff --git a/genodsp.c b/genodsp.c | ||
index ac1704e..00377b1 100644 | ||
index ac1704e..dffd622 100644 | ||
--- a/genodsp.c | ||
+++ b/genodsp.c | ||
@@ -1229,7 +1229,10 @@ void read_intervals | ||
@@ -1229,7 +1229,7 @@ void read_intervals | ||
v = NULL; | ||
chromSpec = find_chromosome_spec (chrom); | ||
if (chromSpec != NULL) v = chromSpec->valVector; | ||
+#pragma GCC diagnostic push | ||
+#pragma GCC diagnostic ignored "-Wstringop-truncation" | ||
strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+#pragma GCC diagnostic pop | ||
- strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+ safe_strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
} | ||
|
||
if (chromSpec == NULL) continue; | ||
diff --git a/logical.c b/logical.c | ||
index fb295e3..6689e51 100644 | ||
index fb295e3..45e1c20 100644 | ||
--- a/logical.c | ||
+++ b/logical.c | ||
@@ -497,7 +497,10 @@ void op_or_apply | ||
@@ -497,7 +497,7 @@ void op_or_apply | ||
v = NULL; | ||
chromSpec = find_chromosome_spec (chrom); | ||
if (chromSpec != NULL) v = chromSpec->valVector; | ||
+#pragma GCC diagnostic push | ||
+#pragma GCC diagnostic ignored "-Wstringop-truncation" | ||
strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+#pragma GCC diagnostic pop | ||
- strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+ safe_strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
} | ||
|
||
if (chromSpec == NULL) continue; | ||
@@ -810,7 +813,10 @@ void op_and_apply | ||
@@ -810,7 +810,7 @@ void op_and_apply | ||
if (chromSpec->flag) goto chrom_not_together; | ||
} | ||
|
||
+#pragma GCC diagnostic push | ||
+#pragma GCC diagnostic ignored "-Wstringop-truncation" | ||
strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+#pragma GCC diagnostic pop | ||
- strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+ safe_strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
} | ||
|
||
// if the current chromosome is not of any interest, ignore this | ||
diff --git a/mask.c b/mask.c | ||
index 4fd5ebd..283a5eb 100644 | ||
index 4fd5ebd..ddd068e 100644 | ||
--- a/mask.c | ||
+++ b/mask.c | ||
@@ -253,7 +253,10 @@ void op_mask_apply | ||
@@ -253,7 +253,7 @@ void op_mask_apply | ||
v = NULL; | ||
chromSpec = find_chromosome_spec (chrom); | ||
if (chromSpec != NULL) v = chromSpec->valVector; | ||
+#pragma GCC diagnostic push | ||
+#pragma GCC diagnostic ignored "-Wstringop-truncation" | ||
strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+#pragma GCC diagnostic pop | ||
- strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+ safe_strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
} | ||
|
||
if (chromSpec == NULL) continue; | ||
@@ -548,7 +551,10 @@ void op_mask_not_apply | ||
@@ -548,7 +548,7 @@ void op_mask_not_apply | ||
if (chromSpec->flag) goto chrom_not_together; | ||
} | ||
|
||
+#pragma GCC diagnostic push | ||
+#pragma GCC diagnostic ignored "-Wstringop-truncation" | ||
strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+#pragma GCC diagnostic pop | ||
- strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+ safe_strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
} | ||
|
||
// if the current chromosome is not of any interest, ignore this | ||
diff --git a/minmax.c b/minmax.c | ||
index c222bd0..4c9684e 100644 | ||
index c222bd0..eae69ab 100644 | ||
--- a/minmax.c | ||
+++ b/minmax.c | ||
@@ -261,7 +261,10 @@ void op_min_in_interval_apply | ||
@@ -261,7 +261,7 @@ void op_min_in_interval_apply | ||
if (chromSpec->flag) goto chrom_not_together; | ||
} | ||
|
||
+#pragma GCC diagnostic push | ||
+#pragma GCC diagnostic ignored "-Wstringop-truncation" | ||
strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+#pragma GCC diagnostic pop | ||
- strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+ safe_strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
} | ||
|
||
// if the current chromosome is not of any interest, ignore this | ||
@@ -664,7 +667,10 @@ void op_max_in_interval_apply | ||
@@ -664,7 +664,7 @@ void op_max_in_interval_apply | ||
if (chromSpec->flag) goto chrom_not_together; | ||
} | ||
|
||
+#pragma GCC diagnostic push | ||
+#pragma GCC diagnostic ignored "-Wstringop-truncation" | ||
strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+#pragma GCC diagnostic pop | ||
- strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+ safe_strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
} | ||
|
||
// if the current chromosome is not of any interest, ignore this | ||
@@ -1941,7 +1947,10 @@ void op_min_with_apply | ||
@@ -1941,7 +1941,7 @@ void op_min_with_apply | ||
v = NULL; | ||
chromSpec = find_chromosome_spec (chrom); | ||
if (chromSpec != NULL) v = chromSpec->valVector; | ||
+#pragma GCC diagnostic push | ||
+#pragma GCC diagnostic ignored "-Wstringop-truncation" | ||
strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+#pragma GCC diagnostic pop | ||
- strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+ safe_strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
} | ||
|
||
if (chromSpec == NULL) continue; | ||
@@ -2227,7 +2236,10 @@ void op_max_with_apply | ||
@@ -2227,7 +2227,7 @@ void op_max_with_apply | ||
v = NULL; | ||
chromSpec = find_chromosome_spec (chrom); | ||
if (chromSpec != NULL) v = chromSpec->valVector; | ||
+#pragma GCC diagnostic push | ||
+#pragma GCC diagnostic ignored "-Wstringop-truncation" | ||
strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+#pragma GCC diagnostic pop | ||
- strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+ safe_strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
} | ||
|
||
if (chromSpec == NULL) continue; | ||
diff --git a/multiply.c b/multiply.c | ||
index 4c1b550..8e2fa56 100644 | ||
index 4c1b550..d04cc41 100644 | ||
--- a/multiply.c | ||
+++ b/multiply.c | ||
@@ -260,7 +260,10 @@ void op_multiply_apply | ||
@@ -260,7 +260,7 @@ void op_multiply_apply | ||
if (chromSpec->flag) goto chrom_not_together; | ||
} | ||
|
||
+#pragma GCC diagnostic push | ||
+#pragma GCC diagnostic ignored "-Wstringop-truncation" | ||
strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+#pragma GCC diagnostic pop | ||
- strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+ safe_strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
} | ||
|
||
// if the current chromosome is not of any interest, ignore this | ||
@@ -654,7 +657,10 @@ void op_divide_apply | ||
@@ -654,7 +654,7 @@ void op_divide_apply | ||
if (chromSpec->flag) goto chrom_not_together; | ||
} | ||
|
||
+#pragma GCC diagnostic push | ||
+#pragma GCC diagnostic ignored "-Wstringop-truncation" | ||
strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+#pragma GCC diagnostic pop | ||
- strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
+ safe_strncpy (prevChrom, chrom, sizeof(prevChrom)); | ||
} | ||
|
||
// if the current chromosome is not of any interest, ignore this | ||
diff --git a/utilities.c b/utilities.c | ||
index 03d2ff1..a0cd42a 100644 | ||
--- a/utilities.c | ||
+++ b/utilities.c | ||
@@ -493,3 +493,13 @@ char* ucommatize | ||
return s; | ||
} | ||
|
||
+// | ||
+void safe_strncpy | ||
+ (char *dest, const char *src, size_t n) | ||
+ { | ||
+ #pragma GCC diagnostic push | ||
+ #pragma GCC diagnostic ignored "-Wstringop-truncation" | ||
+ strncpy(dest, src, n); | ||
+ #pragma GCC diagnostic pop | ||
+ //dest[n-1] = '\0'; // Ensure null-termination | ||
+ } | ||
diff --git a/utilities.h b/utilities.h | ||
index ac9cef7..87cfc2d 100644 | ||
--- a/utilities.h | ||
+++ b/utilities.h | ||
@@ -31,6 +31,8 @@ char* skip_whitespace (char* s); | ||
char* skip_darkspace (char* s); | ||
char* duration_to_string (float seconds); | ||
char* ucommatize (const u32 v); | ||
+void safe_strncpy (char *dest, const char *src, size_t n); | ||
+ | ||
|
||
// miscellany | ||
|