common.c

来自「NAT打洞」· C语言 代码 · 共 35 行

C
35
字号
#include "common.h"
#include "arraylist.h"

#if !defined(WIN32) && !defined(__WIN32__)
ARRAYLIST *keylist;

static int started = 0;

void clean_keylist(void){
	int i;
	for(i = 0; i < arraylist_size(keylist); i++){
  	char *tmp = (char*)arraylist_get(keylist, i);
  	unlink(tmp);
    free(tmp);
  }
  free(keylist->list);
  free(keylist);
}

key_t get_key(void){
	char temp[255];
  strcpy(temp, "/tmp/pckeyXXXXXX");
  if(mkstemp(temp) != -1){
    if(!started){
    	keylist = arraylist();
      started = 1;
    }
    arraylist_add(keylist, strdup(temp));
		return ftok(temp, getpid());
  }
  return -1;
}
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?