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 + -
显示快捷键?