just a file for scratch code I like to keep availible
shouldn't be in build process

-(void)doScan:(NSTimer)timer {
    CFArrayRef list1 = NULL, list2 = NULL;
    int i;
    WirelessNetworkInfo *data;
    WIErr result;
    
    [records removeAllObjects];
    result = WirelessScanSplit(wiContext, &list1, &list2, 0);
#ifdef DEBUG
    NSLog([NSString stringWithFormat:@"WirelessScanSplit: %p %p", list1, list2]);
#endif

    if(list1 == NULL || list2 == NULL) { 
        [table reloadData];
        return; // about all you can do
    }
  
    
    for(i=0; i < CFArrayGetCount(list1); i++) {
        data = (WirelessNetworkInfo *)CFDataGetBytePtr(CFArrayGetValueAtIndex(list1, i)); // More error checking needed
        [self addRecord:[self makeRecord:data withType:@"Managed" withVendor:
            [self vendorCheck:(char *)&(data->macAddress)]]];
    }
    
    for(i=0; i < CFArrayGetCount(list2); i++) {
        data = (WirelessNetworkInfo *)CFDataGetBytePtr(CFArrayGetValueAtIndex(list2, i)); // More error checking needed
        [self addRecord:[self makeRecord:data withType:@"Ad-hoc" withVendor:
            [self vendorCheck:(char *)&(data->macAddress)]]];
    }
    [table reloadData];
    [logtable reloadData];
}



-(void)doScan:(NSTimer)timer {
    CFArrayRef list = NULL;
    int i;
    WirelessNetworkInfo *data;
    WIErr result;
    
    [records removeAllObjects];
    result = WirelessScan(wiContext, &list, 0);

    if(list == NULL) { 
        [table reloadData];
        return; // about all you can do
    }
  
    
    for(i=0; i < CFArrayGetCount(list); i++) {
        data = (WirelessNetworkInfo *)CFDataGetBytePtr(CFArrayGetValueAtIndex(list, i)); // More error checking needed
        [self addRecord:[self makeRecord:data withType:@"old-parameter" withVendor:
            [self vendorCheck:(char *)&(data->macAddress)]]];
    }
    
    [table reloadData];
    [logtable reloadData];
}



- (IBAction)saveLog:(id)sender {
    NSSavePanel *sp;
    NSMutableString *contents;
    int runResult;
    id object;
    FILE *fp;
    NSEnumerator *logenumerator = [logrecords objectEnumerator];
    int count = 0;
    char *ssid, *ptr, null[] = "(null)";
    
    sp = [NSSavePanel savePanel];
    [sp setRequiredFileType:@"txt"]; 
    
    runResult = [sp runModalForDirectory:NSHomeDirectory() file:@""];
    if (runResult == NSOKButton) {
        fp = fopen([[sp filename] cString], "w");
        
         while (object = [logenumerator nextObject]) {
            // Yea this is ugly. Damn null ssids
            ssid = ptr = [[object objectForKey:@"ssid"] cString];
            while(ptr[0] != '\0') {
                if(ptr[0] != ' ' && ptr[0] != '\t') count++;
                ptr++;
            }
            if(!count) ssid = (char *)&null;
            count = 0;
            
            fprintf(fp,"%-34s\t%17s\t%u\t%u\t%-10s\t%-15s\t%s\t%s\n", // I tried using NSFileHandle stuff, but it sucked
                ssid,
                [[object objectForKey:@"mac"] cString],
                [[object objectForKey:@"channel"] shortValue],
                [[object objectForKey:@"maxsig"] intValue],
                [[object objectForKey:@"network"] cString],
                [[object objectForKey:@"vendor"] cString],
                [[object objectForKey:@"wep"] cString],
                [[object objectForKey:@"comments"] cString]
            );
        }
            
        fclose(fp);
    }
    
}

- (IBAction)openLog:(id)sender { // Doesn't work
    NSOpenPanel *sp;
    int runResult;
    FILE *fp;
    NSEnumerator *logenumerator = [logrecords objectEnumerator];
    id object;
    char ssid[34], mac[17], network[7], vendor[15], wep[3], comments[60]; // Kindof a waste of mem, should move all to dynamically malloc'ed I guess
    short chan, maxsig;
    NSMutableDictionary *dict;
    int count = 0;
    memset(ssid, '\0', 35);
    
    sp = [NSOpenPanel openPanel];

    [sp setRequiredFileType:@"txt"]; 
    runResult = [sp runModalForDirectory:NSHomeDirectory() file:@""];
    if (runResult == NSOKButton) {
        fp = fopen([[sp filename] cString], "r"); // I tried using NSFileHandle stuff, but it sucked
        while( fscanf(fp,"%34c %s %h %h %s %s %s %s\n", // Dangerous
                        &ssid, &mac, &chan, &maxsig, &network, &vendor, &wep, &comments)
                != EOF )
        {
            dict = [[NSMutableDictionary alloc] init];
            [dict setObject:[NSString stringWithCString:ssid] forKey:@"ssid"];
            [dict setObject:[NSString stringWithCString:mac] forKey:@"mac"];
            [dict setObject:[NSNumber numberWithShort:chan] forKey:@"channel"];
            [dict setObject:[NSNumber numberWithShort:maxsig] forKey:@"maxsig"];
            [dict setObject:[NSString stringWithCString:network] forKey:@"network"];
            [dict setObject:[NSString stringWithCString:vendor] forKey:@"vendor"];
            [dict setObject:[NSString stringWithCString:wep] forKey:@"wep"];
            [dict setObject:[NSString stringWithCString:comments] forKey:@"comments"];
            
            while (object = [logenumerator nextObject])
                if([[object objectForKey:@"mac"] isEqualToString:[dict objectForKey:@"mac"]]) {
                    count++;
                    [logrecords replaceObjectAtIndex:[logrecords indexOfObject:object] withObject:dict]; // Very inefficient
                }
                
            if(!count)
                [logrecords addObject:dict];
            count = 0;
            [dict release];
            dict = nil;
            memset(ssid, '\0', 35);
        }
            
        fclose(fp);
        [logtable reloadData];
    }
    
}
