summaryrefslogtreecommitdiff
path: root/src/c/string
diff options
context:
space:
mode:
authorsiddhu89902017-06-21 15:46:02 +0530
committersiddhu89902017-06-21 15:46:02 +0530
commit7dd99346700740df9480b1f47221e24afc32371d (patch)
tree41b5094514f9a62d40483a1b6c0481c115220c04 /src/c/string
parentadbc46709966e50b3fed6ff061afff9e59d4b79c (diff)
parent061f07929cc984788154bc296c6cc440ef72a3c6 (diff)
downloadScilab2C_fossee_old-7dd99346700740df9480b1f47221e24afc32371d.tar.gz
Scilab2C_fossee_old-7dd99346700740df9480b1f47221e24afc32371d.tar.bz2
Scilab2C_fossee_old-7dd99346700740df9480b1f47221e24afc32371d.zip
Merged Ankit's work, signal processing and string functions
Diffstat (limited to 'src/c/string')
-rw-r--r--src/c/string/ascii/ascii.h25
-rw-r--r--src/c/string/ascii/dasciia.c21
-rw-r--r--src/c/string/ascii/gasciia.c26
-rw-r--r--src/c/string/ascii/int_ascii.h25
-rw-r--r--src/c/string/includes/ascii.h27
-rw-r--r--src/c/string/includes/strchr.h25
-rw-r--r--src/c/string/includes/strcspn.h26
-rw-r--r--src/c/string/includes/strncpy.h25
-rw-r--r--src/c/string/includes/strspn.h26
-rw-r--r--src/c/string/interfaces/int_ascii.h26
-rw-r--r--src/c/string/interfaces/int_strchr.h25
-rw-r--r--src/c/string/interfaces/int_strcspn.h25
-rw-r--r--src/c/string/interfaces/int_strncpy.h26
-rw-r--r--src/c/string/interfaces/int_strspn.h25
-rw-r--r--src/c/string/strchr/gstrchra.c33
-rw-r--r--src/c/string/strchr/int_strchr.h25
-rw-r--r--src/c/string/strchr/strchr.h25
-rw-r--r--src/c/string/strcspn/gstrcspna.c49
-rw-r--r--src/c/string/strcspn/int_strcspn25
-rw-r--r--src/c/string/strcspn/strcspn.h25
-rw-r--r--src/c/string/strncpy/gstrncpya.c25
-rw-r--r--src/c/string/strncpy/int_strncpy.h26
-rw-r--r--src/c/string/strncpy/strncpy.h25
-rw-r--r--src/c/string/strspn/gstrspna.c64
-rw-r--r--src/c/string/strspn/int_strspn.h25
-rw-r--r--src/c/string/strspn/strspn.h25
26 files changed, 725 insertions, 0 deletions
diff --git a/src/c/string/ascii/ascii.h b/src/c/string/ascii/ascii.h
new file mode 100644
index 0000000..2d46b74
--- /dev/null
+++ b/src/c/string/ascii/ascii.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __ASCII_H__
+#define __ASCII_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void gasciia(char* str,int size, int* out);
+
+#ifdef __cplusplus
+}/* extern "C" */
+#endif
+
+#endif /*___ASCII_H__*/
diff --git a/src/c/string/ascii/dasciia.c b/src/c/string/ascii/dasciia.c
new file mode 100644
index 0000000..d245288
--- /dev/null
+++ b/src/c/string/ascii/dasciia.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include<stdio.h>
+#include "ascii.h"
+void dasciia(double* inp,int size,char* oup)
+{
+ int i;
+ for(i=0;i<size;i++)
+ {
+ oup[i]=(char)inp[i];
+ }
+}
diff --git a/src/c/string/ascii/gasciia.c b/src/c/string/ascii/gasciia.c
new file mode 100644
index 0000000..2cd80bf
--- /dev/null
+++ b/src/c/string/ascii/gasciia.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include<stdio.h>
+/* This is the "asciiconv" function which converts the given string
+ into its ascii equivalent.
+*/
+#include "ascii.h"
+void gasciia(char *str,int size,int* oup)
+{
+
+ for(int i=0;i<size;i++)
+ {
+ *(oup+i)=(int)str[i];
+ }
+
+}
+
diff --git a/src/c/string/ascii/int_ascii.h b/src/c/string/ascii/int_ascii.h
new file mode 100644
index 0000000..36d83f8
--- /dev/null
+++ b/src/c/string/ascii/int_ascii.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_ASCII_H__
+#define __INT_ASCII_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define g2asciiu82(str,size,oup) gasciia(str,size,oup)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_ASCII_H__*/
diff --git a/src/c/string/includes/ascii.h b/src/c/string/includes/ascii.h
new file mode 100644
index 0000000..fcf969d
--- /dev/null
+++ b/src/c/string/includes/ascii.h
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __ASCII_H__
+#define __ASCII_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void gasciia(char* str,int size,int* oup);
+void dasciia(double* inp,int size,char* oup);
+
+#ifdef __cplusplus
+}/* extern "C" */
+#endif
+
+#endif /*___ASCII_H__*/
diff --git a/src/c/string/includes/strchr.h b/src/c/string/includes/strchr.h
new file mode 100644
index 0000000..7e30641
--- /dev/null
+++ b/src/c/string/includes/strchr.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __STRCHR_H__
+#define __STRCHR_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void gstrchra(char* str,int size, char* key,int size2, char* out);
+
+#ifdef __cplusplus
+}/* extern "C" */
+#endif
+
+#endif /*__STRCHR_H__*/
diff --git a/src/c/string/includes/strcspn.h b/src/c/string/includes/strcspn.h
new file mode 100644
index 0000000..aa91fb4
--- /dev/null
+++ b/src/c/string/includes/strcspn.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __STRCSPN_H__
+#define __STRCSPN_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+uint8 gstrcspna(char* str1,int size1,char* str2,int size2);
+
+#ifdef __cplusplus
+}/* extern "C" */
+#endif
+
+#endif /* __STRCSPN_H */
diff --git a/src/c/string/includes/strncpy.h b/src/c/string/includes/strncpy.h
new file mode 100644
index 0000000..f2aa705
--- /dev/null
+++ b/src/c/string/includes/strncpy.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __STRNCPY_H__
+#define __STRNCPY_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void gstrncpya(char* str,int size,double key,char* oup);
+
+#ifdef __cplusplus
+}/* extern "C" */
+#endif
+
+#endif /*__STRNCPY_H__*/
diff --git a/src/c/string/includes/strspn.h b/src/c/string/includes/strspn.h
new file mode 100644
index 0000000..427caa4
--- /dev/null
+++ b/src/c/string/includes/strspn.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __STRSPN_H__
+#define __STRSPN_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+uint8 gstrspna(char* str1,int size1,char* str2,int size2);
+
+#ifdef __cplusplus
+}/* extern "C" */
+#endif
+
+#endif /* __STRSPN_H */
diff --git a/src/c/string/interfaces/int_ascii.h b/src/c/string/interfaces/int_ascii.h
new file mode 100644
index 0000000..87b1b12
--- /dev/null
+++ b/src/c/string/interfaces/int_ascii.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_ASCII_H__
+#define __INT_ASCII_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define g2asciiu82(str,size,oup) gasciia(str,size[1],oup)
+#define d2asciig2(inp,size,oup) dasciia(inp,size[1],oup)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_ASCII_H__*/
diff --git a/src/c/string/interfaces/int_strchr.h b/src/c/string/interfaces/int_strchr.h
new file mode 100644
index 0000000..8747545
--- /dev/null
+++ b/src/c/string/interfaces/int_strchr.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_STRCHR_H__
+#define __INT_STRCHR_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define g2g2strchrg2(str,size,key,size2,out) gstrchra(str,size[1],key,size2[1],out)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_STRCHR_H__*/
diff --git a/src/c/string/interfaces/int_strcspn.h b/src/c/string/interfaces/int_strcspn.h
new file mode 100644
index 0000000..74c6379
--- /dev/null
+++ b/src/c/string/interfaces/int_strcspn.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_STRCSPN_H__
+#define __INT_STRCSPN_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define g2g2strcspnu80(str1,size1,str2,size2) gstrcspna(str1,size1[1],str2,size2[1])
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __INT_STRCSPN_H__*/
diff --git a/src/c/string/interfaces/int_strncpy.h b/src/c/string/interfaces/int_strncpy.h
new file mode 100644
index 0000000..e7ffdb4
--- /dev/null
+++ b/src/c/string/interfaces/int_strncpy.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_STRNCPY_H__
+#define __INT_STRNCPY_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define g2d0strncpyg2(str,size,key,oup) gstrncpya(str,size[1],key,oup)
+
+#ifdef __cplusplus
+} /* extern "C"*/
+#endif
+
+#endif /*__INT_STRNCPY_H__*/
+
diff --git a/src/c/string/interfaces/int_strspn.h b/src/c/string/interfaces/int_strspn.h
new file mode 100644
index 0000000..e4b06f7
--- /dev/null
+++ b/src/c/string/interfaces/int_strspn.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_STRSPN_H__
+#define __INT_STRSPN_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define g2g2strspnu80(str1,size1,str2,size2) gstrspna(str1,size1[1],str2,size2[1])
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __INT_STRSPN_H__*/
diff --git a/src/c/string/strchr/gstrchra.c b/src/c/string/strchr/gstrchra.c
new file mode 100644
index 0000000..f2f5435
--- /dev/null
+++ b/src/c/string/strchr/gstrchra.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Ankit Raj
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <string.h>
+#include "strchr.h"
+
+void gstrchra(char* str,int size,char* key,int size2,char* out)
+{
+ int ind,i=0,j,k;
+ for(j=0;j<size;j++)
+ {
+ if(str[j]==key[0])
+ {
+ ind=j;
+ break;
+ }
+ }
+ for(k=ind;k<size;k++)
+ {
+ out[i]=str[k];
+ i++;
+ }
+}
+
diff --git a/src/c/string/strchr/int_strchr.h b/src/c/string/strchr/int_strchr.h
new file mode 100644
index 0000000..8747545
--- /dev/null
+++ b/src/c/string/strchr/int_strchr.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_STRCHR_H__
+#define __INT_STRCHR_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define g2g2strchrg2(str,size,key,size2,out) gstrchra(str,size[1],key,size2[1],out)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_STRCHR_H__*/
diff --git a/src/c/string/strchr/strchr.h b/src/c/string/strchr/strchr.h
new file mode 100644
index 0000000..7e30641
--- /dev/null
+++ b/src/c/string/strchr/strchr.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __STRCHR_H__
+#define __STRCHR_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void gstrchra(char* str,int size, char* key,int size2, char* out);
+
+#ifdef __cplusplus
+}/* extern "C" */
+#endif
+
+#endif /*__STRCHR_H__*/
diff --git a/src/c/string/strcspn/gstrcspna.c b/src/c/string/strcspn/gstrcspna.c
new file mode 100644
index 0000000..0d8de11
--- /dev/null
+++ b/src/c/string/strcspn/gstrcspna.c
@@ -0,0 +1,49 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Ankit Raj
+ Email: toolbox@scilab.in
+*/
+#include<stdio.h>
+#include<string.h>
+#include "strcspn.h"
+uint8 gstrcspna(char *str1,int size1,char *str2,int size2)
+{
+ int ind;
+ for(int i=0;i<=size1;i++)
+ {
+ for(int j=0;j<=size2;j++)
+ {
+ if(str2[j]==str1[i])
+ {
+ ind=j;
+ break;
+ }
+ }
+ }
+ return (ind+1);
+}
+/*int main()
+{
+ int n1,n2;
+ char inp1[100000],inp2[100000];
+ printf("Enter the length of the first string");
+ scanf("%d",&n1);
+ for(int i=0;i<=(n1+1);i++)
+ {
+ scanf("%c",&inp1[i]);
+ }
+ printf("Enter the length of the second string");
+ scanf("%d",&n2 );
+ for(int j=0;j<=(n2+1);j++)
+ {
+ scanf("%c",&inp2[j]);
+ }
+ strcspnfn(inp1,n1+1,inp2,n2+1);
+}
+*/
diff --git a/src/c/string/strcspn/int_strcspn b/src/c/string/strcspn/int_strcspn
new file mode 100644
index 0000000..f2da3e4
--- /dev/null
+++ b/src/c/string/strcspn/int_strcspn
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_STRCSPN_H__
+#define __INT_STRCSPN_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define g2g2strcspnu80(str1,size1,str2,size2) gstrcspna(str1,size1,str2,size2)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __INT_STRCSPN_H__*/
diff --git a/src/c/string/strcspn/strcspn.h b/src/c/string/strcspn/strcspn.h
new file mode 100644
index 0000000..6170afa
--- /dev/null
+++ b/src/c/string/strcspn/strcspn.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __STRCSPN_H__
+#define __STRCSPN_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+uint8 gstrcspna(char* str1,int size1,char* str2,int size2);
+
+#ifdef __cplusplus
+}/* extern "C" */
+#endif
+
+#endif /* __STRCSPN_H */
diff --git a/src/c/string/strncpy/gstrncpya.c b/src/c/string/strncpy/gstrncpya.c
new file mode 100644
index 0000000..9280198
--- /dev/null
+++ b/src/c/string/strncpy/gstrncpya.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Ankit Raj
+ Email: toolbox@scilab.in
+*/
+#include<stdio.h>
+#include "strncpy.h"
+void gstrncpya(char *str,int size,double key,char *oup)
+{
+ int j;
+ char c;
+ for(j=0;j<key;j++)
+ {
+ c=str[j];
+ oup[j]=c;
+ }
+}
+
+
diff --git a/src/c/string/strncpy/int_strncpy.h b/src/c/string/strncpy/int_strncpy.h
new file mode 100644
index 0000000..fcf245e
--- /dev/null
+++ b/src/c/string/strncpy/int_strncpy.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_STRNCPY_H__
+#define __INT_STRNCPY_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define g2strncpyg2(str,key,oup) gstrncpya(str,key,oup)
+
+#ifdef __cplusplus
+} /* extern "C"*/
+#endif
+
+#endif /*__INT_STRNCPY_H__*/
+
diff --git a/src/c/string/strncpy/strncpy.h b/src/c/string/strncpy/strncpy.h
new file mode 100644
index 0000000..3885550
--- /dev/null
+++ b/src/c/string/strncpy/strncpy.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __STRNCPY_H__
+#define __STRNCPY_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void gstrncpya(char* str,int key,char* oup);
+
+#ifdef __cplusplus
+}/* extern "C" */
+#endif
+
+#endif /*__STRNCPY_H__*/
diff --git a/src/c/string/strspn/gstrspna.c b/src/c/string/strspn/gstrspna.c
new file mode 100644
index 0000000..94a5181
--- /dev/null
+++ b/src/c/string/strspn/gstrspna.c
@@ -0,0 +1,64 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Ankit Raj
+ Email: toolbox@scilab.in
+*/
+#include<stdio.h>
+#include "strspn.h"
+
+int max(int a,int b){
+ if(a>b) return a;
+ return b;
+}
+uint8 gstrspna(char *str1,int size1,char *str2,int size2)
+{
+ int i,j,ct=0,k=0,m=0;
+ for(i=0;i<size2;i++)
+ {
+ if(str1[0]==str2[i])
+ {
+ k=i;
+ ct=0;
+ j=0;
+ while(str1[j]==str2[k])
+ {
+ ct++;
+ j++;
+ k++;
+ if(j >= size1) break;
+ }
+ if(j==size1)
+ {
+ ct=ct-1;
+ }
+ m = max(m,ct);
+ }
+ }
+return m;
+}
+/*
+int main()
+{
+ int n1,n2;
+ char inp1[100000],inp2[100000];
+ printf("Enter the length of the first string");
+ scanf("%d",&n1);
+ for(int i=0;i<=(n1+1);i++)
+ {
+ scanf("%c",&inp1[i]);
+ }
+ printf("Enter the length of the second string");
+ scanf("%d",&n2 );
+ for(int j=0;j<=(n2+1);j++)
+ {
+ scanf("%c",&inp2[j]);
+ }
+ strcspnfn(inp1,n1+1,inp2,n2+1);
+}
+*/
diff --git a/src/c/string/strspn/int_strspn.h b/src/c/string/strspn/int_strspn.h
new file mode 100644
index 0000000..506b311
--- /dev/null
+++ b/src/c/string/strspn/int_strspn.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_STRSPN_H__
+#define __INT_STRSPN_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define g2g2strspnu80(str1,size1,str2,size2) gstrspna(str1,size1,str2,size2)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __INT_STRSPN_H__*/
diff --git a/src/c/string/strspn/strspn.h b/src/c/string/strspn/strspn.h
new file mode 100644
index 0000000..f7c2a3c
--- /dev/null
+++ b/src/c/string/strspn/strspn.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __STRSPN_H__
+#define __STRSPN_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+uint8 gstrspna(char* str1,int size1,char* str2,int size2);
+
+#ifdef __cplusplus
+}/* extern "C" */
+#endif
+
+#endif /* __STRSPN_H */