From: "H. Peter Anvin" <hpa@zytor.com>
To: Git Mailing List <git@vger.kernel.org>
Subject: [PATCH 2/3] Make rsh.c use sq_quote_buf()
Date: Mon, 10 Oct 2005 13:50:06 -0700 [thread overview]
Message-ID: <434AD3FE.204@zytor.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 0 bytes --]
[-- Attachment #2: 02-make-rsh-c-use-sq-quote-buf.patch --]
[-- Type: text/x-patch, Size: 1854 bytes --]
Make rsh.c use sq_quote_buf()
---
commit 16e46159b554116a7d95a206913fcdf7e79e07d0
tree c075951382add702148d7a2c2b4e0298efab8082
parent cc114823f72bd8d912abf7f7a7515853c554a9f3
author Peter Anvin <hpa@tazenda.sc.orionmulti.com> Mon, 10 Oct 2005 12:23:44 -0700
committer Peter Anvin <hpa@tazenda.sc.orionmulti.com> Mon, 10 Oct 2005 12:23:44 -0700
rsh.c | 46 +++++-----------------------------------------
1 files changed, 5 insertions(+), 41 deletions(-)
diff --git a/rsh.c b/rsh.c
index bad5cff..8278eab 100644
--- a/rsh.c
+++ b/rsh.c
@@ -1,52 +1,16 @@
-#include "rsh.h"
-
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
+#include "rsh.h"
+#include "quote.h"
#include "cache.h"
#define COMMAND_SIZE 4096
/*
- * Write a shell-quoted version of a string into a buffer, and
- * return bytes that ought to be output excluding final null.
- */
-static int shell_quote(char *buf, int nmax, const char *str)
-{
- char ch;
- int nq;
- int oc = 0;
-
- while ( (ch = *str++) ) {
- nq = 0;
- if ( strchr(" !\"#$%&\'()*;<=>?[\\]^`{|}", ch) )
- nq = 1;
-
- if ( nq ) {
- if ( nmax > 1 ) {
- *buf++ = '\\';
- nmax--;
- }
- oc++;
- }
-
- if ( nmax > 1 ) {
- *buf++ = ch;
- nmax--;
- }
- oc++;
- }
-
- if ( nmax )
- *buf = '\0';
-
- return oc;
-}
-
-/*
- * Append a string to a string buffer, with or without quoting. Return true
- * if the buffer overflowed.
+ * Append a string to a string buffer, with or without shell quoting.
+ * Return true if the buffer overflowed.
*/
static int add_to_string(char **ptrp, int *sizep, const char *str, int quote)
{
@@ -56,7 +20,7 @@ static int add_to_string(char **ptrp, in
int err = 0;
if ( quote ) {
- oc = shell_quote(p, size, str);
+ oc = sq_quote_buf(p, size, str);
} else {
oc = strlen(str);
memcpy(p, str, (oc >= size) ? size-1 : oc);
reply other threads:[~2005-10-10 20:50 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=434AD3FE.204@zytor.com \
--to=hpa@zytor.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).