Virtual Wire, sending and receiving basic int

I have a project for witch I want to send code from one Arduino to another and then have the receiver to change lights.

And so to achieve this, I thought after its been received by punting it into an int ill be able to easy control the other Arduino. (Using vertical wire)

I have put my code below, if you could find out why this isn't working it will be very helpful. by the way i'm using Arduino UNOs.

//Transmitter Code (Uno)
#include <VirtualWire.h>

void setup()
{
  Serial.begin(9600);
  
  vw_setup(2000);
  vw_set_tx_pin(7);
}

void loop()
{
  if(Serial.available())
  {
    char c = Serial.read();
    vw_send((uint8_t *)int(c), 2);
    vw_wait_tx();
    }
    
 }
//Reciever Code (Uno)
#include <VirtualWire.h>

void setup()
{
  pinMode(13,OUTPUT);
  digitalWrite(13,LOW);
  
  vw_setup(2000);
  vw_set_rx_pin(7);
  vw_rx_start();
  
}

void loop()
{
  int(c);
  uint8_t buflen = VW_MAX_MESSAGE_LEN;
  uint8_t buf[buflen];
  
  if(vw_get_message(buf, &buflen))
  {
    for(int i = 0;i < buflen;i++)
    {
      c == (buf[i]); //puts recived code into an int
      Serial.print(c); //testing only
    }
  }
if(c = 1)
{
  Serial.print("1");
}

if(c = 2)
{
  Serial.print("2");
}

}

Please use code tags, like this:

//Transmitter Code (Uno)
#include <VirtualWire.h>

void setup()
{
  Serial.begin(9600);
  
  vw_setup(2000);
  vw_set_tx_pin(7);
}

void loop()
{
  if(Serial.available())
  {
    char c = Serial.read();
    vw_send((uint8_t *)int(c), 2);
    vw_wait_tx();
    }
    
 }

Why would you want to send an 8-bit character as a 16 bit integer?

If your asking why I want to send up to two characters, even if the receiver is only looking for 1s or 2s, its because im planing to have 3 or 4 different bords receiving at one time, so I was planning to class them, in 10s.

ie to control bord 2, ill have to send digits like 25, but to do the same thing to bord 3, it will be 35 ill have to send.

Send and receive two bytes (uint8_t). The first one will be the board address, the second one will be the command.

Combining and separating them is unnecessary, and has led you into a morass of confusing type casts.