+ if (strcmp(av[0], "--serial") == 0)
+ {
+ ac--;
+ av++;
+ int i=strlen(av[0]);
+ if(i%2 != 0){
+ puts("no valid hex value, length must be multiple of 2\n");
+ return -1;
+ }
+ int j=0;
+ while(i>=0 && j<=13){
+ char buffer[3]={0};
+ memcpy(buffer,&av[0][i],2);
+ o->serial[12-j] = (char)strtol((const char*)buffer,NULL, 16);
+ j++;
+ i-=2;
+ }
+ ac--;
+ av++;
+ }
+ else
+ {
+ o->serial = NULL;
+ }
+