]> git.sur5r.net Git - gsconf/blobdiff - shell_vlan.c
Fixed vlan bug, gotta rewrite that section soon
[gsconf] / shell_vlan.c
index 80dfcb102254c3e27e2043b1c266d1026a7321f8..85bb2763dce2008e89bd5d4537a292fbe5596403 100644 (file)
@@ -100,13 +100,13 @@ void shell_vlan(char ** argv, int elem) {
                         printf("Invalid Port ID\n");
                         return;
                 }         
-                
+                o = m;
                 m  = (0x80 >> ((m & 0xFF) - 1))  | (int)vl->members;
-                
+                printf("%i  %i\n", (int)vl->tag, (unsigned int)(~((unsigned char)m)));
                 if (strncmp(argv[4], "T", 1) == 0) {
-                        o = (int)vl->tag | m;
+                        o = (int)vl->tag | (0x80 >> ((o & 0xFF) - 1));
                 }else if (strncmp(argv[4], "U", 1) == 0) {
-                        o = (int)vl->tag &(~((char)m));
+                        o = (int)vl->tag &(~((0x80 >> ((o & 0xFF) - 1))));
                 }
                 password();
                 printError(gs105e_setVlanMembers(n, m, o));