get_version.c
583 Bytes
#include <string.h>
#include <stdlib.h>
#include "http/message.h"
int
httpMessageGetVersion(HttpMessage this, int * major, int * minor)
{
char * major_ptr = this->version + 5;
char * minor_ptr = strchr(major_ptr, '.') + 1;
char version[] = "\0\0\0";
if (NULL == minor_ptr ||
((minor_ptr - major_ptr - 1) > 2) ||
strlen(minor_ptr) > 2)
return -1;
memcpy(version, major_ptr, minor_ptr - major_ptr - 1);
*major = atoi(version);
memset(version, 0, 3);
strcpy(version, minor_ptr);
*minor = atoi(version);
return ((*major)<<7)|(*minor);
}
// vim: set ts=4 sw=4: