• 大小: 70.69MB
    文件类型: .gz
    金币: 1
    下载: 0 次
    发布日期: 2023-06-21
  • 语言: 其他
  • 标签: redis  memcache  

资源简介

treeNMS-1.7.3 全平台通用,包含缺失文件!!

资源截图

代码片段和文件信息

/* Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License Version 2.0
 * (the “License“); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing software
 * distributed under the License is distributed on an “AS IS“ BASIS
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/* @version $Id: arguments.c 1453280 2013-03-06 10:45:30Z mturk $ */
#include “jsvc.h“
#include 
#include 

/* Return the argument of a command line option */
static char *optional(int argc char *argv[] int argi)
{

    argi++;
    if (argi >= argc)
        return NULL;
    if (argv[argi] == NULL)
        return NULL;
    if (argv[argi][0] == ‘-‘)
        return NULL;
    return strdup(argv[argi]);
}

static char *memstrcat(char *ptr const char *str const char *add)
{
    size_t nl = 1;
    int   nas = ptr == NULL;
    if (ptr)
        nl += strlen(ptr);
    if (str)
        nl += strlen(str);
    if (add)
        nl += strlen(add);
    ptr = (char *)realloc(ptr nl);
    if (ptr) {
        if (nas)
            *ptr = ‘\0‘;
        if (str)
            strcat(ptr str);
        if (add)
            strcat(ptr add);
    }
    return ptr;
}

static char* eval_ppath(char *strcp const char *pattern)
{
    glob_t globbuf;
    char   jars[PATH_MAX + 1];

    if (strlen(pattern) > (sizeof(jars) - 5)) {
        return memstrcat(strcp pattern NULL);
    }
    strcpy(jars pattern);
    strcat(jars “.jar“);
    memset(&globbuf 0 sizeof(glob_t));
    if (glob(jars GLOB_ERR NULL &globbuf) == 0) {
        size_t n;
        for (n = 0; n < globbuf.gl_pathc - 1; n++) {
            strcp = memstrcat(strcp globbuf.gl_pathv[n] “:“);
            if (strcp == NULL) {
                globfree(&globbuf);
                return NULL;
            }
        }
        strcp = memstrcat(strcp globbuf.gl_pathv[n] NULL);
        globfree(&globbuf);
    }
    return strcp;
}

#define JAVA_CLASSPATH      “-Djava.class.path=“
/**
 * Call glob on each PATH like string path.
 * Glob is called only if the part ends with asterisk in which
 * case asterisk is replaced by *.jar when searching
 */
static char* eval_cpath(const char *cp)
{
    char *cpy = memstrcat(NULL JAVA_CLASSPATH cp);
    char *gcp = NULL;
    char *pos;
    char *ptr;

    if (!cpy)
        return NULL;
    ptr = cpy + sizeof(JAVA_CLASSPATH) - 1;;
    while ((pos = strchr(ptr ‘:‘))) {
        *pos = ‘\0‘;
        if (gcp)
            gcp = memstrcat(gcp “:“ NULL);
        else
           

评论

共有 条评论