* [PATCH] Constify
@ 2005-04-22 18:08 Morten Welinder
2005-05-17 21:27 ` Petr Baudis
0 siblings, 1 reply; 2+ messages in thread
From: Morten Welinder @ 2005-04-22 18:08 UTC (permalink / raw)
To: GIT Mailing List
Hi!
This patch makes strings type "const char *" and keeps people honest.
[Here's to hoping that nothing in this email setup mangles whitespace...]
Signed-off-by: Morten Welinder (mwelinder@gmail•com)
Index: Makefile
===================================================================
--- 9f6f9ee7ad29cafe4265eae5050ce712b00bfce0/Makefile (mode:100644
sha1:2d7e4cf0464c45b7c5b169bff7e5c4e7768c13a1)
+++ uncommitted/Makefile (mode:100664)
@@ -12,7 +12,7 @@
# BREAK YOUR LOCAL DIFFS! show-diff and anything using it will likely randomly
# break unless your underlying filesystem supports those sub-second times
# (my ext3 doesn't).
-CFLAGS=-g -O2 -Wall
+CFLAGS=-g -O2 -Wall -Wwrite-strings
# Should be changed to /usr/local
prefix=$(HOME)
Index: commit-tree.c
===================================================================
--- 9f6f9ee7ad29cafe4265eae5050ce712b00bfce0/commit-tree.c
(mode:100644 sha1:c0b07f89286c3f6cceae8122b4c3142c8efaf8e1)
+++ uncommitted/commit-tree.c (mode:100664)
@@ -62,7 +62,7 @@
return i;
}
-static void finish_buffer(char *tag, char **bufp, unsigned int *sizep)
+static void finish_buffer(const char *tag, char **bufp, unsigned int *sizep)
{
int taglen;
int offset;
@@ -273,7 +273,7 @@
*/
#define MAXPARENT (16)
-static char *commit_tree_usage = "commit-tree <sha1> [-p <sha1>]* < changelog";
+static const char *commit_tree_usage = "commit-tree <sha1> [-p
<sha1>]* < changelog";
int main(int argc, char **argv)
{
Index: diff-cache.c
===================================================================
--- 9f6f9ee7ad29cafe4265eae5050ce712b00bfce0/diff-cache.c
(mode:100644 sha1:5e1d1a6e6d83291964dca82e6969e576f6a839ec)
+++ uncommitted/diff-cache.c (mode:100664)
@@ -215,7 +215,7 @@
return 0;
}
-static char *diff_cache_usage = "diff-cache [-r] [-z] [--cached] <tree sha1>";
+static const char *diff_cache_usage = "diff-cache [-r] [-z]
[--cached] <tree sha1>";
int main(int argc, char **argv)
{
Index: diff-tree.c
===================================================================
--- 9f6f9ee7ad29cafe4265eae5050ce712b00bfce0/diff-tree.c (mode:100644
sha1:0f370927dd2496a420af53d137676b6c3c445f75)
+++ uncommitted/diff-tree.c (mode:100664)
@@ -178,7 +178,7 @@
return retval;
}
-static char *diff_tree_usage = "diff-tree [-r] [-z] <tree sha1> <tree sha1>";
+static const char *diff_tree_usage = "diff-tree [-r] [-z] <tree sha1>
<tree sha1>";
int main(int argc, char **argv)
{
Index: fsck-cache.c
===================================================================
--- 9f6f9ee7ad29cafe4265eae5050ce712b00bfce0/fsck-cache.c
(mode:100644 sha1:96b8eb161107cd3219975d93a44874a5455b702e)
+++ uncommitted/fsck-cache.c (mode:100664)
@@ -134,7 +134,7 @@
int main(int argc, char **argv)
{
int i, heads;
- char *sha1_dir;
+ const char *sha1_dir;
sha1_dir = getenv(DB_ENVIRONMENT) ? : DEFAULT_DB_ENVIRONMENT;
for (i = 0; i < 256; i++) {
Index: init-db.c
===================================================================
--- 9f6f9ee7ad29cafe4265eae5050ce712b00bfce0/init-db.c (mode:100644
sha1:dad06351ca35d0d2f68cd9e719c49805386f96fa)
+++ uncommitted/init-db.c (mode:100664)
@@ -5,7 +5,7 @@
*/
#include "cache.h"
-void safe_create_dir(char *dir)
+void safe_create_dir(const char *dir)
{
if (mkdir(dir, 0755) < 0) {
if (errno != EEXIST) {
@@ -23,7 +23,8 @@
*/
int main(int argc, char **argv)
{
- char *sha1_dir, *path;
+ const char *sha1_dir;
+ char *path;
int len, i;
safe_create_dir(".git");
Index: read-tree.c
===================================================================
--- 9f6f9ee7ad29cafe4265eae5050ce712b00bfce0/read-tree.c (mode:100644
sha1:7c938491ad358582c610edac4a36a03868f8631d)
+++ uncommitted/read-tree.c (mode:100664)
@@ -221,7 +221,7 @@
}
}
-static char *read_tree_usage = "read-tree (<sha> | -m <sha1> [<sha2> <sha3>])";
+static const char *read_tree_usage = "read-tree (<sha> | -m <sha1>
[<sha2> <sha3>])";
int main(int argc, char **argv)
{
Index: sha1_file.c
===================================================================
--- 9f6f9ee7ad29cafe4265eae5050ce712b00bfce0/sha1_file.c (mode:100644
sha1:f356acc9e6ce705fdfb947a5f36bba66fd9cd797)
+++ uncommitted/sha1_file.c (mode:100664)
@@ -61,7 +61,7 @@
static char *name, *base;
if (!base) {
- char *sha1_file_directory = getenv(DB_ENVIRONMENT) ? :
DEFAULT_DB_ENVIRONMENT;
+ const char *sha1_file_directory = getenv(DB_ENVIRONMENT) ? :
DEFAULT_DB_ENVIRONMENT;
int len = strlen(sha1_file_directory);
base = malloc(len + 60);
memcpy(base, sha1_file_directory, len);
Index: show-diff.c
===================================================================
--- 9f6f9ee7ad29cafe4265eae5050ce712b00bfce0/show-diff.c (mode:100644
sha1:da364e26e28823f951a6be1b686a458575f28ea1)
+++ uncommitted/show-diff.c (mode:100664)
@@ -5,10 +5,10 @@
*/
#include "cache.h"
-static char *diff_cmd = "diff -L 'a/%s' -L 'b/%s' ";
-static char *diff_opts = "-p -u";
-static char *diff_arg_forward = " - '%s'";
-static char *diff_arg_reverse = " '%s' -";
+static const char *diff_cmd = "diff -L 'a/%s' -L 'b/%s' ";
+static const char *diff_opts = "-p -u";
+static const char *diff_arg_forward = " - '%s'";
+static const char *diff_arg_reverse = " '%s' -";
static void prepare_diff_cmd(void)
{
@@ -35,15 +35,16 @@
* a b ==> a b ==> 'a b'
* a'b ==> a'\''b ==> 'a'\''b'
*/
-static char *sq_expand(char *src)
+static char *sq_expand(const char *src)
{
static char *buf = NULL;
int cnt, c;
char *cp;
+ const char *sp;
/* count bytes needed to store the quoted string. */
- for (cnt = 1, cp = src; *cp; cnt++, cp++)
- if (*cp == '\'')
+ for (cnt = 1, sp = src; *sp; cnt++, sp++)
+ if (*sp == '\'')
cnt += 3;
if (! (buf = malloc(cnt)))
@@ -61,13 +62,13 @@
return buf;
}
-static void show_differences(char *name, char *label, void *old_contents,
+static void show_differences(const char *name, char *label, void *old_contents,
unsigned long long old_size, int reverse)
{
FILE *f;
char *name_sq = sq_expand(name);
char *label_sq = (name != label) ? sq_expand(label) : name_sq;
- char *diff_arg = reverse ? diff_arg_reverse : diff_arg_forward;
+ const char *diff_arg = reverse ? diff_arg_reverse : diff_arg_forward;
int cmd_size = strlen(name_sq) + strlen(label_sq) * 2 +
strlen(diff_cmd) + strlen(diff_opts) + strlen(diff_arg);
char *cmd = malloc(cmd_size);
Index: update-cache.c
===================================================================
--- 9f6f9ee7ad29cafe4265eae5050ce712b00bfce0/update-cache.c
(mode:100644 sha1:9ad4ae278703ee621b723afc65f3a51038e30f52)
+++ uncommitted/update-cache.c (mode:100664)
@@ -25,9 +25,11 @@
void *in;
SHA_CTX c;
- in = "";
if (size)
in = mmap(NULL, size, PROT_READ, MAP_PRIVATE, fd, 0);
+ else
+ in = (void *)"";
+
close(fd);
if (!out || (int)(long)in == -1)
return -1;
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH] Constify
2005-04-22 18:08 [PATCH] Constify Morten Welinder
@ 2005-05-17 21:27 ` Petr Baudis
0 siblings, 0 replies; 2+ messages in thread
From: Petr Baudis @ 2005-05-17 21:27 UTC (permalink / raw)
To: Morten Welinder; +Cc: GIT Mailing List
Dear diary, on Fri, Apr 22, 2005 at 08:08:02PM CEST, I got a letter
where Morten Welinder <mwelinder@gmail•com> told me that...
> Hi!
Hello,
> This patch makes strings type "const char *" and keeps people honest.
> [Here's to hoping that nothing in this email setup mangles whitespace...]
>
> Signed-off-by: Morten Welinder (mwelinder@gmail•com)
thanks. It was somewhat mangled, but the main problem was that it has
rot for too long in my queue, so only quite small part of it survived
until today. :-( I've not applied the CFLAGS+=-Wwrite-strings part yet,
since it would require some additional cleanups and such, so I'll let
someone else deal with that. ;-)
--
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-05-17 21:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-22 18:08 [PATCH] Constify Morten Welinder
2005-05-17 21:27 ` Petr Baudis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox