{
if (type == SSH_KEYTYPE_OPENSSH) {
/* OpenSSH doesn't do key comments */
- *comment = dupstr(filename_to_str(*filename));
+ *comment = dupstr(filename_to_str(filename));
return openssh_encrypted(filename);
}
if (type == SSH_KEYTYPE_SSHCOM) {
ctx->cfg.logtype == LGTYP_DEBUG ? "raw" :
ctx->cfg.logtype == LGTYP_PACKETS ? "SSH packets" : "<ukwn>"));
/* Make sure we do not exceed the output buffer size */
- strncat(buf, filename_to_str(ctx->currlogfilename), 128);
+ strncat(buf, filename_to_str(&ctx->currlogfilename), 128);
buf[strlen(buf)] = '\0';
logevent(ctx->frontend, buf);
}
int size;
char buffer[FILENAME_MAX];
int len = sizeof(buffer)-1;
- char *d, *s;
+ char *d;
+ const char *s;
d = buffer;
- s = filename_to_str(src);
+ s = filename_to_str(&src);
while (*s) {
/* Let (bufp, len) be the string to append. */
}
*d = '\0';
- *dest = filename_from_str(s);
+ *dest = filename_from_str(d);
}
-/* $Id: mac.c,v 1.39 2003/02/01 15:44:08 ben Exp $ */
+/* $Id: mac.c,v 1.40 2003/02/01 17:24:26 simon Exp $ */
/*
* Copyright (c) 1999 Ben Harris
* All rights reserved.
/* SGT: I have no idea whether Mac X servers need anything here. */
}
-Filename filename_from_str(char *str)
+Filename filename_from_str(const char *str)
{
Filename ret;
strncpy(ret.path, str, sizeof(ret.path));
return ret;
}
-char *filename_to_str(Filename fn)
+const char *filename_to_str(const Filename *fn)
{
- /* FIXME: Memory leak! */
-
- return dupstr(fn.path);
+ return fn->path;
}
int filename_equal(Filename f1, Filename f2)
}
}
-int from_backend(void *frontend_handle, int is_stderr, char *data, int len)
+int from_backend(void *frontend_handle, int is_stderr,
+ const char *data, int len)
{
int osize, esize;
static unsigned outlen; /* how much data required */
static unsigned char *pending = NULL; /* any spare data */
static unsigned pendlen = 0, pendsize = 0; /* length and phys. size of buffer */
-int from_backend(void *frontend, int is_stderr, char *data, int datalen)
+int from_backend(void *frontend, int is_stderr, const char *data, int datalen)
{
unsigned char *p = (unsigned char *) data;
unsigned len = (unsigned) datalen;
void term_copyall(Terminal *);
void term_reconfig(Terminal *, Config *);
void term_seen_key_event(Terminal *);
-int from_backend(void *, int is_stderr, char *data, int len);
+int from_backend(void *, int is_stderr, const char *data, int len);
void term_provide_resize_fn(Terminal *term,
void (*resize_fn)(void *, int, int),
void *resize_ctx);
/*
* Miscellaneous exports from the platform-specific code.
*/
-Filename filename_from_str(char *string);
-char *filename_to_str(Filename fn);
+Filename filename_from_str(const char *string);
+const char *filename_to_str(const Filename *fn);
int filename_equal(Filename f1, Filename f2);
int filename_is_null(Filename fn);
static unsigned outlen; /* how much data required */
static unsigned char *pending = NULL; /* any spare data */
static unsigned pendlen = 0, pendsize = 0; /* length and phys. size of buffer */
-int from_backend(void *frontend, int is_stderr, char *data, int datalen)
+int from_backend(void *frontend, int is_stderr, const char *data, int datalen)
{
unsigned char *p = (unsigned char *) data;
unsigned len = (unsigned) datalen;
return low + 1 + CHANNEL_NUMBER_OFFSET;
}
-static void c_write(Ssh ssh, char *buf, int len)
+static void c_write(Ssh ssh, const char *buf, int len)
{
if ((flags & FLAG_STDERR)) {
int i;
from_backend(ssh->frontend, 1, buf, len);
}
-static void c_write_untrusted(Ssh ssh, char *buf, int len)
+static void c_write_untrusted(Ssh ssh, const char *buf, int len)
{
int i;
for (i = 0; i < len; i++) {
}
}
-static void c_write_str(Ssh ssh, char *buf)
+static void c_write_str(Ssh ssh, const char *buf)
{
c_write(ssh, buf, strlen(buf));
}
int ret = loadrsakey(&ssh->cfg.keyfile, &s->key, s->password);
if (ret == 0) {
c_write_str(ssh, "Couldn't load private key from ");
- c_write_str(ssh, filename_to_str(ssh->cfg.keyfile));
+ c_write_str(ssh, filename_to_str(&ssh->cfg.keyfile));
c_write_str(ssh, ".\r\n");
continue; /* go and try password */
}
/*
* from_backend(), to get data from the backend for the terminal.
*/
-int from_backend(void *vterm, int is_stderr, char *data, int len)
+int from_backend(void *vterm, int is_stderr, const char *data, int len)
{
Terminal *term = (Terminal *)vterm;
return tv.tv_sec * 1000000 + tv.tv_usec;
}
-Filename filename_from_str(char *str)
+Filename filename_from_str(const char *str)
{
Filename ret;
strncpy(ret.path, str, sizeof(ret.path));
return ret;
}
-char *filename_to_str(Filename fn)
+const char *filename_to_str(const Filename *fn)
{
- return fn.path;
+ return fn->path;
}
int filename_equal(Filename f1, Filename f2)
}
}
-int from_backend(void *frontend_handle, int is_stderr, char *data, int len)
+int from_backend(void *frontend_handle, int is_stderr,
+ const char *data, int len)
{
int osize, esize;
/* We don't support this at all under Windows. */
}
-Filename filename_from_str(char *str)
+Filename filename_from_str(const char *str)
{
Filename ret;
strncpy(ret.path, str, sizeof(ret.path));
return ret;
}
-char *filename_to_str(Filename fn)
+const char *filename_to_str(const Filename *fn)
{
- return fn.path;
+ return fn->path;
}
int filename_equal(Filename f1, Filename f2)