#include <epan/address.h>
#include <epan/addr_resolv.h>
-#include <epan/ws_strsplit.h>
+#include <epan/strutil.h>
#include "util.h"
-#ifdef NEED_G_ASCII_STRCASECMP_H
-#include "epan/g_ascii_strcasecmp.h"
-#endif
-
/*
* Collect command-line arguments as a string consisting of the arguments,
* separated by spaces.
*/
char *
-get_args_as_string(int argc, char **argv, int optind)
+get_args_as_string(int argc, char **argv, int optindex)
{
int len;
int i;
* Find out how long the string will be.
*/
len = 0;
- for (i = optind; i < argc; i++) {
- len += strlen(argv[i]);
+ for (i = optindex; i < argc; i++) {
+ len += (int) strlen(argv[i]);
len++; /* space, or '\0' if this is the last argument */
}
* Now construct the string.
*/
argstring[0] = '\0';
- i = optind;
+ i = optindex;
for (;;) {
- strncat(argstring, argv[i], len - strlen(argstring));
+ g_strlcat(argstring, argv[i], len);
i++;
if (i == argc)
break;
- strncat(argstring, " ", len - strlen(argstring));
+ g_strlcat(argstring, " ", len);
}
return argstring;
}
if ((env = getenv("SSH_CONNECTION")) != NULL) {
tokens = g_strsplit(env, " ", 4);
if (tokens[3]) {
- g_string_sprintf(filter_str, "not (tcp port %s and %s host %s "
+ g_string_printf(filter_str, "not (tcp port %s and %s host %s "
"and tcp port %s and %s host %s)", tokens[1], host_ip_af(tokens[0]), tokens[0],
tokens[3], host_ip_af(tokens[2]), tokens[2]);
return filter_str->str;
}
} else if ((env = getenv("SSH_CLIENT")) != NULL) {
tokens = g_strsplit(env, " ", 3);
- g_string_sprintf(filter_str, "not (tcp port %s and %s host %s "
+ g_string_printf(filter_str, "not (tcp port %s and %s host %s "
"and tcp port %s)", tokens[1], host_ip_af(tokens[0]), tokens[0], tokens[2]);
return filter_str->str;
} else if ((env = getenv("REMOTEHOST")) != NULL) {
- if (g_ascii_strcasecmp(env, "localhost") == 0 || strcmp(env, "127.0.0.1") == 0) {
+ /* FreeBSD 7.0 sets REMOTEHOST to an empty string */
+ if (g_ascii_strcasecmp(env, "localhost") == 0 ||
+ strcmp(env, "127.0.0.1") == 0 ||
+ strcmp(env, "") == 0) {
return "";
}
- g_string_sprintf(filter_str, "not %s host %s", host_ip_af(env), env);
+ g_string_printf(filter_str, "not %s host %s", host_ip_af(env), env);
return filter_str->str;
} else if ((env = getenv("DISPLAY")) != NULL) {
/*
* This mirrors what _X11TransConnectDisplay() does.
* Note that, on some systems, the hostname can
- * being with "/", which means that it's a pathname
+ * begin with "/", which means that it's a pathname
* of a UNIX domain socket to connect to.
*
* The comments mirror those in _X11TransConnectDisplay(),
}
}
- g_string_sprintf(filter_str, "not %s host %s",
+ g_string_printf(filter_str, "not %s host %s",
host_ip_af(phostname), phostname);
g_free(phostname);
return filter_str->str;
* http://www.microsoft.com/technet/archive/termsrv/maintain/featusability/tsrvapi.mspx?mfr=true
*/
if (g_ascii_strncasecmp(env, "rdp", 3) == 0) {
- g_string_sprintf(filter_str, "not tcp port 3389");
+ g_string_printf(filter_str, "not tcp port 3389");
return filter_str->str;
}
}