1. 程式人生 > >開源庫中的版權宣告註釋格式(Osip)

開源庫中的版權宣告註釋格式(Osip)

/*
版權說明
*/

#include <stdlib.h>//------------系統標頭檔案
#include <stdio.h>

#include <osipparser2/osip_port.h>//---------自定義標頭檔案

/* returns the content_type header as a string.  *///------------函式功能
/* INPUT : osip_content_type_t *content_type | content_type header.   */
//------------------------------應該輸入那些引數
/* returns null on error. *///-------- - 返回值含義 int osip_accept_to_str(const osip_accept_t * accept, char **dest) { //---------------------------- - 對於所有不需要或不能改變的變數都應該使用const標識 char *buf; //------------------臨時變數 char *tmp; size_t len; *dest = NULL; if (accept == NULL)//--------------任何引數傳入後都應該檢查它的有效性
return -1;// -------------------- - 根據傳入引數的有效性區別對待 if ((accept->type == NULL) && (accept->subtype == NULL)) { /* Empty header ! */ buf = (char *)osip_malloc(2); buf[0] = ' '; buf[1] = '\0'; *dest = buf; return 0; } /* try to guess a long enough length
*///----------- 段落註釋 len = strlen(accept->type) + strlen(accept->subtype) + 4 /* for '/', ' ', ';' and '\0' *///------------------行註釋 + 10 * osip_list_size(accept->gen_params); buf = (char *)osip_malloc(len); //----------------所有的指標必須有其空間 tmp = buf; sprintf(tmp, "%s/%s", accept->type, accept->subtype); tmp = tmp + strlen(tmp); { int pos = 0; osip_generic_param_t *u_param; #if 0//---------------------------對於不再使用但是又有必有保留以後使用的 if (!osip_list_eol(accept->gen_params, pos)) { /* needed for cannonical form! (authentication issue of rfc2543) */ sprintf(tmp, " "); tmp++; } #endif while (!osip_list_eol(accept->gen_params, pos)) { size_t tmp_len; u_param = (osip_generic_param_t *)osip_list_get(accept->gen_params, pos); if (u_param->gvalue == NULL)//------------要為所有的函式呼叫判斷是否成功 { osip_free(buf); return -1; } tmp_len = strlen(buf) + 4 + strlen(u_param->gname) + strlen(u_param->gvalue) + 1; if (len < tmp_len) { buf = osip_realloc(buf, tmp_len); len = tmp_len; tmp = buf + strlen(buf); } sprintf(tmp, "; %s=%s", u_param->gname, u_param->gvalue); tmp = tmp + strlen(tmp); pos++; } } *dest = buf; return 0; }

相關推薦

開源版權宣告註釋格式Osip

/* 版權說明 */ #include <stdlib.h>//------------系統標頭檔案 #include <stdio.h> #include <osipparser2/osip_port.h>//---------自定義標頭檔案 /* returns

如何在ROS使用PCL—資料格式1

在ROS中點雲的資料型別 在ROS中表示點雲的資料結構有: sensor_msgs::PointCloud      sensor_msgs::PointCloud2     pcl::PointCloud<T> 關於PCL在ros的資料的結構,具體的介紹可查 看

第三方開源:日期時間選擇器TimePickerDialog+ 省市區三級聯動(CityPicker) + 一級滾動

TimePickerDialog Android時間選擇器,支援年月日時分,年月日,年月,月日時分,時分格式,可以設定最小時間和最大時間(精確到分)。 效果圖 gradle compile 'com.jzxiang.pickervie

一個酷炫的button變化動畫開源原始碼分析—Android morph Button

最近很是喜愛一些酷炫的動畫效果,特意在github上找了一些,看看他們是怎麼做到的,做個分析,順便可以對自定義控制元件和動畫有進一步的認識。 先來看下這個庫中button的變化效果是什麼樣的: 是不是很酷炫,而且中間的變化過程很舒服,沒

基於第三方開源的OPC伺服器開發指南4——後記:與另一個開源opc workshop相關的問題

平心而論,我們從樣例伺服器的程式碼可以看出利用LightOPC庫開發OPC伺服器還是比較囉嗦的,網上有人提出opc workshop庫就簡單很多,我千辛萬苦終於找到一個05年版本的workshop庫原始碼,忘了出處是在哪裡了,依稀記得是Codeforge網站。相較於LightOPC,用這個庫開發OPC伺服器確

同時修改某一個數據所有表的所有欄位的編碼格式mysql

最近在進行原始碼的二次開發,突然之間有了一個小的需求,就這麼悄悄的突然出現了。 需求原因就不說了,只說這個怎麼實現的。我是用的是mysql資料庫,其他的略有不同,具體到哪一點就只能具體變化了。 看網上有的說直接把資料庫或者表的編碼做改變就行了,可是這樣對欄位來說都沒有影響。

bartender鏈接數據提示:無法鏈接到數據 外部數據驅動程序1的意外錯誤#6670

bartender 6670 外部數據驅動程序bartender鏈接數據庫提示:無法鏈接到數據庫 外部數據驅動程序(1)中的意外錯誤#6670是 微軟 10月份更新的補丁導致。解決:1.關閉自動更新2.卸載補丁:win7 KB4041678 KB404168

關於pycharm安裝第三方時報錯的解決辦法

記錄自己的生活!   一、事發背景 在pycharm中直接安裝第三方庫時因為版本問題總是無法安裝成功,事情不大,但是很重要。   二、經過 最開始我自己電腦上安裝了Python3.6和Python2.7兩個版本,我正常使用是3.6版的。因

WPF 新增 Resources Dictionary 資源 一般類專案無法新增資原始檔ResourceDictionary

原文: WPF 新增 Resources Dictionary 資源 一般類庫專案中無法新增資原始檔(ResourceDictionary) 在資料夾或者專案右鍵-> Add(新增),會彈出可以快捷新增的資源,但是你會發現沒有 ResourceDictionary資源可以選擇。 解決此問題方法:

從Jackrabbit下載檔案到web涉及到inputStream轉byte[]

專案中用到了Jackrabbit庫的使用,我這塊主要負責的是查詢,前後臺展示的資料大部分是從Jackrabbit庫中查詢得來的,庫的檔案以二進位制的形式進行的儲存,當寫到元檔案的下載的時候卡殼了,特此記

WPF 新增 Resources Dictionary 資源 一般類專案無法新增資原始檔ResourceDictionary

在資料夾或者專案右鍵-> Add(新增),會彈出可以快捷新增的資源,但是你會發現沒有 ResourceDictionary資源可以選擇。 解決此問題方法: 第一步:工程->右鍵->Unload Project 第二步:剛剛Unload的這個工程->右鍵->Edit XXXX :

STL的集合set簡介C++,Java

1.簡介: 集合是數學中的一個概念,通俗地理解,集合是由一些不重複的資料組成的。比如{1,2,3}就是一個有1,2,3三個元素的集合。C++和Jav的標準庫中的集合支援高效的插入、刪除和查詢操作,這3個操作的時間複雜度都是O(lgn),其中n是當前集合中元素的個數。如果用陣

VS2017--如何新增版權宣告註釋

**說明:我以VS中建立的類做示範(shift +alt+c** 在安裝地址下面找到我們的Class:D:\大型軟體\VS2017\Common7\IDE\ItemTemplates\CSharp\Code\2052\Class 我們先設定一下管理員賬戶才可

pgm格式檔案及其在matlab的讀取儲存方法2

早上寫了好久的blog丟失了,原因是沒有及時儲存。對於線上這種東西還是不習慣,當作教訓好了。 言歸正傳,既然嫌棄fopen,fgetl這些麻煩,而且不好用,那便思考一下pgm究竟是什麼。以下是百度百科【1】的查詢結果: 一套API庫;遊戲系統;步槍

JDK原始碼的英文註釋翻譯Enum<E extends Enum<E>>

public abstract class Enum<E extends Enum<E>> implements Comparable<E>, Serializable 列舉類存在於java.lang包中,是一個抽象類,實現了Comparabl

SQL Server 在多個數據建立同一個儲存過程Create Same Stored Procedure in All Databases

一.本文所涉及的內容(Contents) 二.背景(Contexts)   在我的資料庫伺服器上,同一個例項下面掛載著許多相同結構的資料庫,他們為不同公司提供著服務,在許多時候我需要同時建立、修改、刪除一些物件,儲存過程就是其中一個,但是想要批量建立儲存,這有些特殊,下面就教你如何實現在多個數據庫中建

宣告一個Tree類,有成員ages(樹齡),成員函式grow(int years)用以對ages 加上years,showage( )用以顯示tree物件的ages值。在主函式定義Tree類對

//宣告一個Tree(樹)類,有成員ages(樹齡),//成員函式grow(int years)用以對ages 加上years//,showage()用以顯示tree物件的ages值。//在主函式中定義Tree類物件,並呼叫成員函式(學生自行指定實引數#include<

Hadoop基於檔案的資料格式1SequenceFile

import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import o

EntityFramework之數據以及表基本創建

令行 代碼 client 建數據庫 通過 ted ble 另一個 www 前言 之前有學過EF一段時間那時EF才4.0似乎還不太穩定,而現在EF都已7.0版本,同時AspNet Identity都與此大有關聯,看來是大勢所趨於是開始學習EF,在學EF過程中也遇到一些小問題,

十二Hibernate的多表操作1:單向多對一

art 保存 int gen round t對象 情況 映射文件 拋出異常 由“多”方可知“一”方的信息,比如多個員工使用同一棟公寓,員工可以知道公寓的信息,而公寓無法知道員工的信息。 案例一: pojo類 public class Department {