+2005-02-07 Jean-Marc Ranger <jmranger@sympatico.ca>
+
+ * need to call getline() with null for first usage
+ * don't overwrite const arg
+
2005-02-07 Stephen Hemminger <shemminger@linux.site>
* Add experimental distribution
extern __u32 get_addr32(const char *name);
extern int get_addr_1(inet_prefix *dst, const char *arg, int family);
-extern int get_prefix_1(inet_prefix *dst, const char *arg, int family);
+extern int get_prefix_1(inet_prefix *dst, char *arg, int family);
extern int get_addr(inet_prefix *dst, const char *arg, int family);
-extern int get_prefix(inet_prefix *dst, const char *arg, int family);
+extern int get_prefix(inet_prefix *dst, char *arg, int family);
extern int get_integer(int *val, const char *arg, int base);
extern int get_unsigned(unsigned *val, const char *arg, int base);
return 0;
}
-int get_prefix_1(inet_prefix *dst, const char *arg, int family)
+int get_prefix_1(inet_prefix *dst, char *arg, int family)
{
int err;
unsigned plen;
slash = strchr(arg, '/');
if (slash)
*slash = 0;
+
err = get_addr_1(dst, arg, family);
if (err == 0) {
switch(dst->family) {
return 0;
}
-int get_prefix(inet_prefix *dst, const char *arg, int family)
+int get_prefix(inet_prefix *dst, char *arg, int family)
{
if (family == AF_PACKET) {
fprintf(stderr, "Error: \"%s\" may be inet prefix, but it is not allowed in this context.\n", arg);
int n;
long x;
size_t len;
- char *line;
+ char *line = NULL;
char name[128];
snprintf(name, sizeof(name), "/usr/lib/tc/%s.dist", type);